什么是 calc()css
简单通俗的将,就是能把不一样单位的属性执行四则运算,产出结果。html
举一个简单的例子css3
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .out { width: 500px; height: 300px; border: 1px solid #ccc; } .in { background: red; /*width: calc(100% - 25px);*/ width: 100%; margin-left: 25px; } </style> </head> <body> <div class="out"> <div class="in"> **calc()**从字面咱们能够把他理解为一个函数function。其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。好比说,你能够使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。为什么说是动态值呢?由于咱们使用的表达式来获得的值。不过calc()最大的好处就是用在流体布局上,能够经过calc()计算获得元素的宽度。 text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... </div> </div> </body> </html>
展现效果以下图web
由于咱们内部div的宽度为100%,而后又设置了margin-left,因此内部超出了外面的div,有时候咱们不想要这种效果,咱们继续测试下面的代码函数
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .out { width: 500px; height: 300px; border: 1px solid #ccc; } .in { background: red; width: calc(100% - 25px); margin-left: 25px; } </style> </head> <body> <div class="out"> <div class="in"> calc()从字面咱们能够把他理解为一个函数function。其实calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。好比说,你能够使用calc()给元素的border、margin、pading、font-size和width等属性设置动态值。为什么说是动态值呢?由于咱们使用的表达式来获得的值。不过calc()最大的好处就是用在流体布局上,能够经过calc()计算获得元素的宽度。 text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... text....blablabla..... </div> </div> </body> </html>
以下图 布局
这样咱们就达成了预期效果。测试
最后来看看兼容性code
2015-12-10 edire 发表于极客学院 http://qun.jikexueyuan.com/web/topic/224htm