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

 更新时间:2017年06月18日 10:53:38   作者:袖之欢  
这篇文章主要跟大家分享了Webpack打包css后z-index被重新计算的解决方法,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。

发现问题

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

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

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

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

因为打包后的文件有两处 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
})

总结

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

相关文章

  • 一个炫酷的Bootstrap导航菜单

    一个炫酷的Bootstrap导航菜单

    这篇文章主要为大家详细介绍了一个炫酷的Bootstrap导航菜单的制作方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Bootstrap实现翻页效果

    Bootstrap实现翻页效果

    这篇文章主要为大家详细介绍了Bootstrap实现翻页效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • js引擎垃圾回收机制示例详解

    js引擎垃圾回收机制示例详解

    最近看到一些面试的回顾,不少有被面试官问到谈谈JS垃圾回收机制,下面这篇文章主要给大家介绍了关于js引擎垃圾回收机制的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • JavaScript编写猜拳游戏

    JavaScript编写猜拳游戏

    这篇文章主要为大家详细介绍了JavaScript编写猜拳游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • JavaScript实现联动菜单特效

    JavaScript实现联动菜单特效

    这篇文章主要为大家详细介绍了JavaScript实现联动菜单特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • JavaScript通过HTML的class来获取HTML元素的方法总结

    JavaScript通过HTML的class来获取HTML元素的方法总结

    除了getElementsByClassName()函数,我们可以自己动手编写程式来通过class获取元素,接下来我们整理了一下JavaScript通过HTML的class来获取HTML元素的方法总结,需要的朋友可以参考下
    2016-05-05
  • js实现随机8位验证码

    js实现随机8位验证码

    这篇文章主要为大家详细介绍了js实现随机8位验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • Java设计中的Builder模式的介绍

    Java设计中的Builder模式的介绍

    这篇文章主要介绍了从一个Person例子进行分析重叠构造器模式、Builder模式的使用场景以及运用JavaBeans模式弥补重叠构造器模式的不足
    2018-03-03
  • Bootstrap 3.x打印预览背景色与文字显示异常的解决

    Bootstrap 3.x打印预览背景色与文字显示异常的解决

    前几天同事有个问题咨询我,他在调用print()来打印页面,发现打印预览页面上的背景色无法显示以及文字总是显示为黑色,感觉非常奇怪,我通过测试发现是Bootstrap的问题,现在将解决的方法分享给大家,希望可以帮助到同样遇到这个问题的朋友们,下面来一起看看。
    2016-11-11
  • JavaScript高级程序设计 错误处理与调试学习笔记

    JavaScript高级程序设计 错误处理与调试学习笔记

    JavaScript高级程序设计 错误处理与调试学习笔记,学习js的朋友可以参考下。
    2011-09-09

最新评论