calc可以通过一个表达式来动态设置元素的长度,它是css3的新增功能。
calc()的运算规则
calc()使用通用的数学运算规则,但是也提供更智能的功能:
- (1)使用“+”、“-”、“*” 和 “/”四则运算;
- (2)可以使用百分比、px、em、rem等单位;
- (3)可以混合使用各种单位进行计算;
- (4)表达式中有“+”和“-”时,其前后必须要有空格,如"widht: calc(12%+5em)"这种没有空格的写法是错误的;
- (5)表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。
浏览器的兼容性
浏览器对calc()的兼容性还算不错,在IE9+、FF4.0+、Chrome19+、Safari6+都得到较好支持,同样需要在其前面加上各浏览器厂商的识别符,不过可惜的是,移动端的浏览器还没仅有“firefox for android 14.0”支持,其他的全军覆没。
另外重要一点的是calc对于手机移动端还不兼容,目前为止,我使用的calc在移动端没有效果,只能自己使用js来动态计算,我认为这是calc的一个弊端。