我了解了CSS函数calc()及其真棒.我尝试使用它像:
#abc{width:calc(100%-20px)}
Run Code Online (Sandbox Code Playgroud)
但是这个功能的问题在于它不起作用.我测试了这个代码IE9和Safari,它没有用.
为什么不起作用?
Juk*_*ela 47
运算符" - "必须用空格包围:
#abc{width:calc(100% - 20px)}
Run Code Online (Sandbox Code Playgroud)
引用MDN信息calc():"注意:+和 - 运算符必须始终用空格包围.例如,calc(50%-8px)的操作数将被解析为百分比,后跟负长度,无效表达式,而calc的操作数(50% - 8px)是百分比,后跟减号和长度".
关于此的正式声明在CSS值和单元模块级别3 CR的第8.1.1节中.
小智 18
所有现代浏览器除了Android的本机浏览器支持外calc(),都更容易采用.但请注意,它会对布局产生重大影响,并因此在不受支持的浏览器上破坏您的设计.
您应该将它与回退声明一起使用,因此它不会破坏不支持它的浏览器.
width: 500px; /** older browsers **/
width: -webkit-calc(50% - 20px); /** Safari 6, Chrome 19-25 **/
width: -moz-calc(50% - 20px); /** FF 4-15 **/
width: calc(50% - 20px); /** FF 16+, IE 9+, Opera 15, Chrome 26+, Safari 7 and future other browsers **/
Run Code Online (Sandbox Code Playgroud)