千家信息网

CSS样式冲突怎么解决

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章主要介绍"CSS样式冲突怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"CSS样式冲突怎么解决"文章能帮助大家解决问题。样式冲突解决方案Scop
千家信息网最后更新 2024年12月13日CSS样式冲突怎么解决

这篇文章主要介绍"CSS样式冲突怎么解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"CSS样式冲突怎么解决"文章能帮助大家解决问题。

样式冲突解决方案

Scoped CSS与CSS Module是两大解决CSS中不存在模块化缺陷的有效手段,其中CSS Module通过将class名称做编码转换的方式来保证唯一性,从而避免样式冲突,比如

Hello World

被转换为

Hello World

而相应的

.title {

color: red;

}

被转换为

._3zyde4l1yATCOkgn-DBWEL {

color: red;

}

由于转换过后发生同名的可能性实在是太小了,这样就保证了在开发阶段可以放心的使用各种样式名称,即便发生同名也不会造成冲突。

而Scoped CSS使用的是另一种解决方案 —— 在HTML标签上做文章,比如

被转换为

这样,example的样式被限定在具有data-v-f3f3eg9属性的HTML标签上,也间接保证了唯一性,避免冲突。

本来到此好好的,不过官方文档接下来的一段话反而让我迷惑了

使用 scoped 后,父组件的样式将不会渗透到子组件中。不过一个子组件的根节点会同时受其父组件的 scoped CSS 和子组件的 scoped CSS 的影响。这样设计是为了让父组件可以从布局的角度出发,调整其子组件根元素的样式。

看来还是得要做实验

准备

准备三个组件

Level1.vue

Level2.vue

Level3.vue

其中Level1.vue包含了Level2.vue,Level2.vue包含了Level3.vue

接着加上一些方便于辨析的样式

关于"CSS样式冲突怎么解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0