css calc 函数计算元素宽度
calc() 函数用于动态计算长度值。
- 需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);
- 任何长度值都可以使用calc()函数进行计算;
- calc()函数支持 "+", "-", "*", "/" 运算;
- calc()函数使用标准的数学运算优先级规则;
语法:
calc(expression)
参数:
- expression : 必须,一个数学表达式,结果将采用运算后的返回值。
实例:
<html>
<head>
<meta charset="utf-8">
<title>IT懒猫社区</title>
<style>
#div1 {
position: absolute;
left: 50px;
width: calc(100% - 100px); //计算动态宽度
border: 1px solid black;
background-color: yellow;
padding: 5px;
text-align: center;
}
</style>
</head>
<body>
<p>创建一个div,div 两边有 50px 的间隙:</p>
<div id="div1">文本内容...</div>
</body>
</html>
calc() 的另外一个用例是用来确保一个表单域的大小适合当前的可用空间,而不会在保持合适的外边距的同时,因挤压超出其容器的边缘。
以下实例中,form 元素自身使用了窗口可用宽度的 1/6,然后,为了让 form 元素内部的 input 元素保持合适的大小,我们再一次使用了 calc(),让它的宽度为其容器的宽度减 1em。
比如:
input {
padding: 2px;
display: block;
width: calc(100% - 1em);
}
#formbox {
width: calc(100% / 6);
border: 1px solid black;
padding: 4px;
}