当前位置: 首页 > article >正文

CSS样式穿透

        当我们在vue项目中使用第三方组件时,有时候需要去修改某些元素的样式,但有时写的css样式不会覆盖组件的样式,所以要用到样式穿透。

        常用的方法有这几种:(1)>>>  (2)/deep/  (3)::v-deep  (4):deep()

        但由于不同的样式解析器识别的语法不同,有时也不一定会生效。

        用vant组件库的navbar组件举个例子。

        ​​​​​​地址:Vant 4 - A lightweight, customizable Vue UI library for mobile web apps.

vue2

使用vant组件库的版本:

修改导航栏标题的颜色,先找到标题对应的class:

<template>
    <div class="world">
        <van-nav-bar title="标题" left-text="返回" left-arrow/>
    </div>
</template>

<script>
export default {

}
</script>

<style scoped>
/*.world >>> .van-nav-bar__title {*/
/*    color: red;*/
/*}*/

/*::v-deep .van-nav-bar__title{*/
/*    color: red;*/
/*}*/

/*/deep/ .van-nav-bar__title{*/
/*    color: red;*/
/*}*/

:deep(.van-nav-bar__title){
    color: red;
}
</style>

结果:

        (1)当使用 css 时,这四种方法都可以生效。

        (2)当使用 less 时,>>> 失效,其余三种方法都生效。

        (3)当使用 sass 时,>>> 和 /deep/ 失效,其余两种方法生效。

vue3

使用vant组件库版本:

结果:

        (1)当使用 css 时,>>> 失效,其余三种方法都生效。

        (2)当使用 less 时,>>> 失效,其余三种方法都生效。

        (3)当使用 sass 时,>>> 和 /deep/ 失效,其余两种方法生效。

        虽然有些方法可以使用,但会在终端出现警告,比方说,当在使用 vue3 并且使用 less 的情况下,用 ::v-deep 和 /deep/ 生效,出现警告让使用 :deep() 。


http://www.kler.cn/a/131597.html

相关文章:

  • Nacos在Windows本地安装并启动教程
  • Zookeeper Java 开发,自定义分布式锁示例
  • js:Lodash一个JavaScript 实用工具库
  • Pytorch数据集读出到transform全过程
  • 4种智慧路灯典型应用场景介绍
  • [Docker]记一次使用jenkins将镜像文件推送到Harbor遇到的问题
  • 2023年11月12日阿里云产品全面故障的启示
  • RabbitMQ多线程配置和异常解决办法
  • 常见的数据结构有哪些?
  • 【第2章 Node.js基础】2.6 Node.js 的Buffer数据类型
  • 【原创】java+swing+mysql校园活动管理系统设计与实现
  • Docker命令 常用中间件运维部署,方便构建自己服务
  • Oxygen XML Editor 26版新功能
  • Linux网络应用层协议之http/https
  • IP池大小重要吗?
  • Linux 之查看标准错误码工具
  • Docker 笔记(二)--镜像
  • kotlin--3.集合操作
  • MR混合现实情景实训教学系统模拟历史情景
  • python_主动调用其他类的成员