问答

关于dva那一套样式被覆盖的问题

作者:admin 2021-07-31 我要评论

dva里面两个页面有相同的class名,后面切换的页面样式被第一个覆盖了,看引入的chunk.css发现是因为还引入了前一个页面的chunk.css, 想知道这个是什么机制,不是...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

dva里面两个页面有相同的class名,后面切换的页面样式被第一个覆盖了,看引入的chunk.css发现是因为还引入了前一个页面的chunk.css, 想知道这个是什么机制,不是应该哪个页面引入哪个页面的css吗.
image.png
image.png
两个页面都有引入一个其它的公共的组件,跟这个有关系吗

###

chunk 可以理解成把代码按照页面来进行分割,每一个页面动态叠加当前页面所需要用的css或js,就是所谓的动态加载,减少因为压缩后代码量过大而造成的时间等待。

你这里之所以后面的css会覆盖前面的样式,是因为你并没有使用css module的方式来写样式,二是采用了全局样式,因此不可避免的就会出现全局变量污染。

解决办法有两个:

  1. 采用css module的方法来书写(每一个css类名都是独一无二的,不用担心全局污染)
  2. 在写每个css文件时用特定的class包一层(方法有点low,语义不够好,还得区分哪些是全局样式,哪些是独立样式)

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 关于dva那一套样式被覆盖的问题

    关于dva那一套样式被覆盖的问题

  • Graphql + Django 如何重新格式化,不

    Graphql + Django 如何重新格式化,不

  • threejs物体内部的贴图如何透视

    threejs物体内部的贴图如何透视

  • 淘宝商家小程序开发时,使用的基础库版

    淘宝商家小程序开发时,使用的基础库版

腾讯云代理商
海外云服务器