http://www.w3.org/TR/css3-values/#calc
我一直致力于将一些css3方法转换为css2的库。一个棘手的部分是数学.. css3的calc()方法的提议几乎让我大吃一惊......
我能够从ems或任何其他固定单位添加/减去/除/乘像素,但我不知道如何将10px添加到60%。
假设你有变量设置:$ width1 = 10px;和$ width2 = 50%;
width: <?php echo $width1 + $width2; ?>;
有没有办法执行这种数学运算,以便静态宽度值可以应用于旧版浏览器?也许使用css表达式作为后备?
答案 0 :(得分:1)
从我最好的猜测来看,你做不到。这就是CSS3添加该功能的原因,因为CSS2无法独立完成。有几个CSS框架添加了该功能。至于单位转换,你必须使用你的例子做出一些关于优先级的决定:
$ width1 = 10px $ width2 = 50%
假设(对于此示例)500px屏幕,如果百分比优先,则您首先拥有一个250px的块,向其添加10px,从而产生260px。如果你走另一条路,它将是250px。 (这假设auto优先于所有,所以auto + 10px,然后50%的父容器。)