我有一个SASS mixin rem()将像素单位值转换为rems,但包括IE8的px后备 . 例如,调用以下内容:
@include rem((padding: 15px));
会产生类似的东西:
padding: 15px;
padding: 1.071rem;
问题是 - 对于现代浏览器,我不想包含px后备,因为它每次使用rem()mixin时都会添加不必要的CSS行 . 所以我的问题是:
Question: SASS(或SASS与其他东西一起使用)是否有办法将每个px回退分离成一个单独的ie样式表(例如,"ie-8.css")?
1 回答
我不认为单独使用SASS可以分割SASS输出 . 您可能会编写一个时髦的小程序,扫描您的SASS以查找某些选择器作为其渲染并相应地处理输出,但这超出了我的知识 .
值得考虑后备选择器对性能的影响有多大 . 加载时间未使用的css选择器have minimal impact . 另一方面,对于IE8样式表的额外http请求,加上在基本样式加载后应用该样式表的时间,我认为是一项要求更高的任务 . 是否's an issue to you depends on how many IE8 users you'重新支持 .
中途可能是应用IE-specific classes to your <html> tag或容器,并更改mixin,以便仅在该条件类生效时应用回退 .
HTML
上海社会科学院
我已经整理了一些jsfiddle以展示mixin .