.vue文件添加 scoped 后样式不生效问题

您所在的位置:网站首页 vue项目demo .vue文件添加 scoped 后样式不生效问题

.vue文件添加 scoped 后样式不生效问题

2023-04-07 07:59| 来源: 网络整理| 查看: 265

前言

在vue项目中为了让样式私有化,我们可能给 style 标签加上 scoped 属性。这样当前组件中的样式就不会对其他组件的样式早成影响了,但是这带来了一个新的问题,就是 Element UI 的样式不易修改。

分析原因

我们先看一下 el-input-number 组件的按钮样式。

可以看到使用scoped 属性后, el-input-number 组件的 div 标签上多了自定义属性 data-v-xxxxx 。

image.png

当我们直接写 el-input-number__increase 的样式时,你查看控制台 ELements 下 类名为el-input-number__increase 标签的 Styles 样式,会发现没有加上!

所以我们得想办法给他加上。

为什么没加上呢? 因为写在 scoped 下的 element-ui 样式被它原全局样式覆盖了。 问题解决 方法1:使用 >>> 深度操作符,让选择器作用的更深,修改后如下图:

image.png

可以看到使用 >>> 操作符后,我们的类名 el-input-class 后加上了 [data-v-xxxxxx] ,样式生效。

方法2:可能我们的项目会用 scss 之类的预处理器,这时候就不能使用 >>> ,我们需要用 /deep/ 来代替它。 新版本需要使用 ::v-deep, 如 ::v-deep .el-table__body{ // 样式 } 最后 文章是自己手敲,是对工作日常的总结,如有错误之处,敬请指正 如果遇到什么问题就留言吧,能解决大家帮忙一起解决一下


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3