CSS3使用calc()做算术 (转)

calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度。这个函数能让你执行简单的算术计算,例如计算元素的长宽,免去了你写不易维护的Javascript代码。这个函数支持所有简单的基本算术运算,包括加减乘除。

表达式中有“+”和“-”时,其前后必须要有空格,如"widht: calc(12%+5em)"这种没有空格的写法是错误的;表达式中有“*”和“/”时,其前后可以没有空格,但建议留有空格。浏览器对calc()的兼容性还算不错,在IE9+、FF4.0+、Chrome19+、Safari6+都得到较好支持,同样需要在其前面加上各浏览器厂商的识别符,不过可惜的是,移动端的浏览器大部分还不支持,目前仅有“firefox for android 14.0”支持。

比方说,你想创建一个元素,使它的宽度占满它的父元素,但还要留出一部分像素宽做其它用处:

 

[css] view plaincopy 
.parent { 
    width: 100%;  
    border: solid black 1px; 
    position: relative; 
}  
.child { 
    position: absolute;  
    left: 100px;  
    width: calc(90% - 100px);
    background-color: #ff8;  
    text-align: center;  } 

 

漂亮吧,不是吗?更详细的介绍请参考W3C CSS calc 规范。

我们可以越来越清楚的发现,CSS已经成熟到在某些方法可以替代javascript,极大的简化了web开发人员的工作。如果你还不开始利用这些功能,那只能说是在犯傻。

posted @ 2015-03-14 08:41  勒布吒卡  阅读(455)  评论(0编辑  收藏  举报