简介:
calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,可以使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。
calc()能给元素的做计算,可以给一个div元素,使用百分比、em、px和rem单位值计算出其宽度或者高度,比如说:width:calc(50% + 2em)
calc()的语法:
.elm {
width: calc(expression);//其中"expression"是一个用来计算长度的表达式
}
calc()的运算规则:
1 使用“+”、“-”、“*” 和 “/”四则运算;
2 可以使用百分比、px、em、rem等单位;
3 可以混合使用各种单位进行计算;
4 表达式中有“+”和“-”时,其前后必须要有空格,如"widht:calc(12%+5em)"这种没有空格的写法是错误的;
5 表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。
注:使用时,注意查看浏览器兼容性
例子1:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>calc</title>
<style type="text/css">
* {margin: 0;padding: 0;}
.col-3 {
width: calc(100%/4 - 5px);
float: left;
margin-right: calc(5px*4/3);
background: #eee;
color: #333;
height: 100px;
text-align: center;
margin-bottom: calc(5px*4/3);
font-size: 18px;
line-height: 100px;
}
.col-3:nth-child(4n) {margin-right: 0;}
</style>
</head>
<body>
<div class="container">
<div class="col-3">1</div>
<div class="col-3">2</div>
<div class="col-3">3</div>
<div class="col-3">4</div>
<div class="col-3">5</div>
<div class="col-3">6</div>
<div class="col-3">7</div>
<div class="col-3">8</div>
<div class="col-3">9</div>
<div class="col-3">10</div>
<div class="col-3">11</div>
<div class="col-3">12</div>
<div class="col-3">13</div>
<div class="col-3">14</div>
<div class="col-3">15</div>
<div class="col-3">16</div>
</div>
</body>
</html>
例子2:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.container {
width: 500px;
height: 100px;
background: pink;
margin: 50px auto;}
.a1 {
float: left;
margin: 30px 15px 0 30px;
width: -webkit-calc((100% - 90px)/2);
background: red;
}
.a2 {
float: left;
margin: 30px 30px 0 15px;
width: -webkit-calc((100% - 90px)/2);
background: green;
}
</style>
</head>
<body>
<div class="container">
<div class="a1"> a1 </div>
<div class="a2"> a 2 </div>
</div>
</body>
</html>