在日常工作中,我们经常会接触到calc,现在我们来好好认识下这个属性 calc() 此 CSS 函数允许在声明 CSS 属性值时执行一些计算。它可以用在如下场合:
<length>、<frequency>, <angle>、<time>、<percentage>、<number>、或 <integer>。
此 calc()函数用一个表达式作为它的参数,用这个表达式的结果作为值。这个表达式可以是任何如下操作符的组合,采用标准操作符处理法则的简单表达式。
语法:width: calc(100% - 100px); +加法。 -减法。 *乘法,乘数中至少有一个是 。 /除法,除数(/ 右面的数)必须是 。
表达式中的运算对象可以使用任意 值。如果你愿意,你可以在一个表达式中混用这类值的不同单位。在需要时,你还可以使用小括号来建立计算顺序。
举个栗子 使用 calc() 可以很容易的为一个对象设置一个左右两边相等的外边距。在这个例子中,使用 CSS 创建了一个横跨整个窗口的 banner,该 banner 左右两边各有一个距离窗口边缘 40 像素的间距:
.banner {
position: absolute;
left: 40px;
width: calc(100% - 80px);
border: solid black 1px;
box-shadow: 1px 2px;
background-color: yellow;
padding: 6px;
text-align: center;
box-sizing: border-box;
}
<div class="banner">This is a banner!</div>
2自动调整表单域的大小以适应其容器的大小 calc() 的另外一个用例是用来确保一个表单域的大小适合当前的可用空间,而不会在保持合适的外边距的同时,因挤压超出其容器的边缘。
input {
padding: 2px;
display: block;
width: calc(100% - 1em);
}
#formbox {
width: calc(100% / 6);
border: 1px solid black;
padding: 4px;
}
这个例子中,form 元素自身使用了窗口可用宽度的 1/6,然后,为了让 form 元素内部的 input 元素保持合适的大小,我们再一次使用了 calc(),让它的宽度为其容器的宽度减 1em。下面的 HTML 使用了上面的 CSS:
<form>
<div id="formbox">
<label>Type something:</label>
<input type="text">
</div>
</form>
浏览器兼容性
|