Vue中样式穿透共6种方法(Vue2、Vue3样式穿透,避免踩坑)

Vue中的样式穿透问题

提示:这个问题真的是让我收获很多,一个关于antd design vue 表格的样式修改问题。

前言

提示:这里是我遇到问题的描述!!!!!

1.首先我在开发的时候,遇到的问题如下(感觉可丑
下方有修改后的样式
在这里插入图片描述
2.这个是修改后的样式(比上面的美观多了
在这里插入图片描述


提示:下面的内容是对我的一些解决方法和对Vue2和Vue3样式穿透的一些理解!!!!!

一、Vue2中的样式穿透如何使用

第一种写法箭头三剑客(原生css):

   1.看向右边的主角 👉       >>>
   use methods: .类名 >>> .类名{样式}

第二种(预处理器:less,sass):

   2.看向右边的主角 👉       /deep/ 
   use methods: 
                     	/deep/ .类名{样式}
                     	父类 /deep/ 子类

第三种(预处理器:less,sass):

   2.看向右边的主角 👉       ::v-deep .类名 {} 
   use methods: 
    					  ::v-deep .类名{样式}
    					  父类 ::v-deep 子类

二、Vue3中的样式穿透如何使用

第一种 :deep()

   1.看向右边的主角 👉         :deep()
   use methods: 
    					    :deep(样式选择器)
    					  

第一种如图所示:

在这里插入图片描述

第二种 ::v-deep()

   2.看向右边的主角 👉         ::v-deep()
   use methods: 
    					    ::v-deep(样式选择器)
    					  

第二种如图所示:

在这里插入图片描述

三、不使用样式穿透也可以修改样式

提示:这里不对代码进行解读了;直接上图:

在这里插入图片描述
提示:红色箭头🤌 制定的区域就是添加权重;但是不要盲目的全局添加;可以先添加一个类,然后使用添加权重的方法

总结

本次关于样式的修改也让我重新了解了一下,有关Vue2和Vue3样式穿透的区别和更改。同时也希望大家,在遇到类似的问题时,也可以看到这篇文章。帮助大家解决问题!!!!! 加油!!!!!!

Vue 2中的样式穿透(Scoping Inheritance)是一种设计模式,用于解决组件内部CSS规则对父级元素影响的问题,通常在采用单文件组件(SFC)Vue CLI构建的应用中。当一个组件需要修改其根元素的一些样式时,如果直接写在`.vue`文件的`<style>`标签内,样式会作用于整个应用,这可能会导致命名冲突。 然而,在Vue 2的默认配置下,如果你使用了内置的 scoped 样式(即前缀为 `.` 的选择器),它会限制样式的应用范围到当前组件及其所有后代。这意味着,除非你在组件外部显式地引入未scoped的样式,或者使用`:v-deep` 或 `>>>` 伪元素穿透样式,否则父组件无法直接访问子组件的 scoped 样式。 如果你发现样式穿透失效,可能是以下几种情况: 1. **未正确使用穿透符**:在父组件的样式中,你需要使用 `::v-deep` 或 `>>>` 来穿透子组件的 scoped 样式。例如:`.parent ::v-deep .child-class { ... }`。 2. **全局注册的样式库**:某些全局使用的CSS库如Element UI、Vuetify等,它们有自己的CSS模块系统,可能导致样式覆盖。在这种情况下,你需要确认是否正确处理了库内的穿透规则。 3. **CSS预处理器(如Sass、Less)**:在预处理器中,如果不小心,你可能需要手动转换或配置来支持穿透。 4. **CSS冲突**:两个组件同时设置了相同的样式,优先级较高的样式会生效。 5. **版本问题**:Vue 2.6及以上版本引入了更严格的CSS scoping,确保样式仅作用于组件自身。如果使用的是早期版本,可能需要升级或调整设置。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

满脑子技术的前端工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值