解决grunt-contrib-cssmin压缩默认会删除一些css hack的问题
来源:互联网 发布:金税通网络发票下载 编辑:程序博客网 时间:2024/06/16 02:43
昨天公司任务中,有涉及到一个比较老的网站静态文件整理压缩过程,于是采用了grunt工具的压缩插件grunt-contrib-cssmin来进行js和css的压缩整理;
例如:一些*zoom:1;_height:100px;等等一些hack会被删除,而这些恰恰是ie低版本做兼容的代码。
发现引用压缩后的css之后,页面在ie7下出现错乱现象,其他高版本浏览器则正常显示,于是各种排查,对比文件,网上查找相关资料,终于找到了原因所在。
grunt-contrib-cssmin压缩css文件时,默认设置情况下会删除css hack属性;
cssmin: { buildall: {//按原文件结构压缩css文件夹内所有JS文件 files: [{ expand:true, cwd:'src',//src目录下 src:'**/*.css',//所有css文件 dest: 'dest',//输出到此目录下 ext: '.min.css' }] } }
例如:一些*zoom:1;_height:100px;等等一些hack会被删除,而这些恰恰是ie低版本做兼容的代码。
原因是grunt-contrib-cssmin依赖另一个node模块clean-css的,这个模块默认是会合并属性的,同时还忽略了ie8及以下版本的兼容性,
好在它同时提供了相应的配置项,然后用在grunt-contrib-cssmin中,放弃了它的这些高级功能,问题得到解决,下面是新的配置代码片段:
cssmin: { options : { compatibility : 'ie8', //设置兼容模式 noAdvanced : true //取消高级特性 }, buildall: {//按原文件结构压缩css文件夹内所有JS文件 files: [{ expand:true, cwd:'src',//src目录下 src:'**/*.css',//所有css文件 dest: 'dest',//输出到此目录下 ext: '.min.css' }] } }
0 0
- 解决grunt-contrib-cssmin压缩默认会删除一些css hack的问题
- 解决grunt-contrib-cssmin压缩默认会删除一些css hack的问题
- 解决:grunt-contrib-jshint插件支持es6 syntax的问题
- Grunt插件之cssmin--ccs压缩与合并
- grunt cssmin 入门
- grunt的grunt-contrib-jshint插件使用
- grunt的grunt-contrib-concat插件使用
- grunt-contrib-requirejs插件合并压缩requirejs管理的Angularjs应用
- CSS的hack解决积累
- 使用grunt实现css压缩
- Grunt打包压缩JS CSS
- 应用Grunt进行CSS压缩
- 整理的一些常用的CSS HACK
- 主流浏览器的一些CSS hack
- Grunt的配置及使用(压缩合并js/css)
- Grunt的配置及使用(压缩合并js/css)
- 前端js和css的压缩合并之grunt
- 配置grunt进行css、js的检查、合并和压缩
- play教程 第一课:当我们在谈论play时,我们到底在谈论什么
- Unity实战笔记_8.简单的UI框架模块间传参
- GO语言中的单引号、双引号、反引号
- Class.forName()和newInstance()的作用
- 18 个惊人的 Angular 开源项目
- 解决grunt-contrib-cssmin压缩默认会删除一些css hack的问题
- try{}里有return语句,那么后面的finally{}里的代码是否会执行,什么时候被执行
- Android DrawerLayout 点击事件穿透
- OpenGL Shading Language 4.4
- 【MSP是什么】MSP成功项目群管理
- kafka的log存储是怎么设计的?
- 微信6.3.31smali源码android studio工程
- Hiveserver2的代理执行之路
- 真机调试NSLog不打印日志信息