由于工作需要,最近一直在弄css转写less,遇到最多的问题就是 hack的写法,一些IE的hack,less不支持编译;
常见的不支持的hack如下:
- IE的滤镜写法
- \9\0 IE8部分支持、IE9支持
- \9 所有IE浏览器都支持
- \0 IE8、IE9支持,opera部分支持
后三种情况 常出现 单一存在是不影响编译;但是混合使用时常常发生编译错误
解决办法如下:
- 以shadow滤镜为例
filter: ~" progid: DXImageTransform . Microsoft . Shadow(Strength = 1, Direction = 135, color = #FFFFFF)"; 编译后:
filter: progid: DXImageTransform . Microsoft . Shadow(Strength = 1, Direction = 135, color = #FFFFFF)\0;
-
2-4 总结为
@ie-hack: ~"\9\0";
div{
height:10px@ie-fix;
}
在改写less过程中暂时遇到这些问题。