calc()的使用
平时写CSS时候可能遇到宽度或者高度需要计算的情况,简单的时候,算算padding,margin就行了,单位或是px或是%。但是有时候需要复杂一点的,比如这次我需要计算(100vh - 50px)的值,那就需要calc()了。
calc()的运算规则
- 支持“+”、“-”、“*” 、“/”四则运算;
- 可以使用百分比、px、em、rem、vh、vm等单位;
- 可以混合使用各种单位进行计算;
书写注意
- 表达式中有“+”和“-”时,其前后必须要有空格,如”widht: - calc(12%+5em)”这种没有空格的写法是错误的;
- 表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。
- 考虑兼容性的话可以这样写:
/*Firefox*/
-moz-calc(expression);
/*chrome safari*/
-webkit-calc(expression);
/*Standard */
calc();
EX
.tablf {
padding: 0px;
height:93vh;/*如果不支持calc就用这个啦*/
overflow:auto;
height:-moz-calc(100vh - 50px);
height:-webkit-calc(100vh - 50px);
height: calc(100vh - 50px);
}