Webpack打包css后z-index被重新计算的解决方法


Posted in Javascript onJune 18, 2017

发现问题

最近在使用 Webpack 打包 css 文件时,发现了一个问题,发现打包后的 z-index 值跟源文件 z-index 不一致。

如下图,左侧是源文件,右侧是打包后的文件:

Webpack打包css后z-index被重新计算的解决方法

即使加上 !important,经过 OptimizeCssAssetsPlugin 调用 cssProcessor cssnano 处理之后也是 z-index: 2。

因此,很可能是 cssnano 进行了重新计算(cssnano 称为 rebase),而且这种计算是不够准确的。

Webpack打包css后z-index被重新计算的解决方法

因为打包后的文件有两处 z-index,这里是第二处,所以此处 z-index 是 2。

解决方法

cssnano 将 z-index rebase 归类为 unsafe,而不是 bug,只有在单个网页的 css 全部写入一个 css 文件,并且不通过 JavaScript 进行改动时是 safe。

参考:http://cssnano.co/optimisations/zindex/

项目中提取了公共的 css,已经对 layout 设置了很小的 z-index,因此受到 cssnano z-index rebase 的影响。

cssnano 默认进行 z-index rebase。

unsafe (potential bug) 优化项默认不开启应该比较友好。

new OptimizeCssAssetsPlugin({
 cssProcessor: require('cssnano'),
 cssProcessorOptions: {
 discardComments: {removeAll: true},
 // 避免 cssnano 重新计算 z-index
 safe: true
 },
 canPrint: false
})

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Jquery 返回json数据在IE浏览器中提示下载的问题
May 18 Javascript
js进行表单验证实例分析
Feb 10 Javascript
js中flexible.js实现淘宝弹性布局方案
Jun 23 Javascript
学习JavaScript设计模式之迭代器模式
Jan 19 Javascript
JavaScript禁止复制与粘贴的实现代码
May 16 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
Vue2.x中的Render函数详解
May 30 Javascript
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
May 17 Javascript
bootstrap table列和表头对不齐的解决方法
Jul 19 Javascript
解决vue中el-tab-pane切换的问题
Jul 19 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
Jun 18 #Javascript
JavaScript ES6中const、let与var的对比详解
Jun 18 #Javascript
jquery DataTable实现前后台动态分页
Jun 17 #jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 #jQuery
vue router路由嵌套不显示问题的解决方法
Jun 17 #Javascript
详解vue+vueRouter+webpack的简单实例
Jun 17 #Javascript
js轮播图无缝滚动效果
Jun 17 #Javascript
You might like
php正则匹配html中带class的div并选取其中内容的方法
2015/01/13 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
PHP 将dataurl转成图片image方法总结
2016/10/14 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
微信小程序保存多张图片的实现方法
2019/03/05 Javascript
Web服务器框架 Tornado简介
2014/07/16 Python
Python操作串口的方法
2015/06/17 Python
python实现红包裂变算法
2016/02/16 Python
简单谈谈Python中函数的可变参数
2016/09/02 Python
浅析Python数据处理
2018/05/02 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python tornado使用流生成图片的例子
2019/11/18 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
python interpolate插值实例
2020/07/06 Python
面向新手解析python Beautiful Soup基本用法
2020/07/11 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
会计毕业生自我鉴定
2013/11/04 职场文书
客服专员岗位职责
2014/02/28 职场文书
村党支部书记承诺书
2014/05/29 职场文书
采购员岗位职责
2015/02/03 职场文书
大班上学期个人总结
2015/02/13 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
2016年社会管理综治宣传月活动总结
2016/03/16 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
生命的关键成分来自太空?陨石说是的
2022/04/29 数码科技