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

[前端] 深度选择器deep使用介绍(笔记)

参考文献

深度选择器

深度选择器deep使用说明

在 Vue 中,为了实现组件内部样式对组件外部元素的穿透覆盖,可以使用 CSS 的 deep 选择器(也称为 >>> 或 /deep/)或 v-deep 指令。然而,这两个方法在 Vue 3 中已经被废弃,推荐使用 ::v-deep 伪类选择器。

示例

<template><div class="my-component"><!-- ... --></div>
</template><style scoped lang="less">
.my-component {/deep/ .target-class { // 或者使用 &:deep(.target-class)color: red;}
}
</style>

/deep/ 或 &:deep() 选择器可以穿透组件的 scoped 属性,使得内部样式可以作用于组件外部的 .target-class 元素。这里的 & 符号代表当前的选择器,&:deep() 将 & 与 .target-class 结合,创建了一个穿透性的嵌套选择器。

::v-deep 与/deep/ 的区别

::v-deep:deep()Vue 2.xVue 3.x 中都是用来穿透组件的 scoped 样式隔离,允许组件内的样式影响到组件外部的元素。它们实际上是同一种概念的不同表示形式。以下是它们的区别和历史背景:

  1. Vue 2.x:
    Vue 2.x 中,Vue 提供了两种语法来穿透 scoped 样式:
    /deep/: 这是一个 CSS 伪类选择器,用于 Vue 2.x 中的单文件组件 (SFC) 中,它允许组件内部的样式穿透到外部元素。
    >>>: 这是另一种写法,功能与 /deep/ 相同,它也是 Vue 2.x 中的一个语法糖,用于 CSS 预处理器中,比如 Sass 或者 Less。

  2. Vue 3.x:
    Vue 3.x 移除了 /deep/>>> 选择器,因为它们在某些 CSS 预处理器中存在解析问题,并且不是标准的 CSS 语法。
    ::v-deep 被引入作为 Vue 3.x 的替代方案,这是一个伪元素选择器,它解决了预处理器中的解析问题,并且更加符合 CSS 标准。
    Vue 3.x 中,::v-deep 仅限于在 SFC<style> 标签内使用,它与 Vue 2.x 中的 /deep/>>> 表达相同的功能。

多级深度使用示例

.parent :deep(.child-class) {}
http://www.lryc.cn/news/350467.html

相关文章:

  • simlink 初步了解
  • 【SRC实战】退款导致零元购支付漏洞
  • 一篇文章搞懂退火算法
  • 浅说文心一言
  • IC设计企业如何实现安全便捷的芯片云桌面跨网摆渡?
  • Hello, GPT-4o!
  • colab使用本地数据集微调llama3-8b模型
  • YOLO数据集制作(二)|json文件转txt验证
  • linux常用命令(持续更新)
  • Excel表格导入/导出数据工具类
  • Python自学之路--004:Python使用注意点(原始字符串‘r’\字符转换\‘wb’与‘w区别’\‘\‘与‘\\’区别)
  • javaEE进阶——SpringBoot与SpringMVC第一讲
  • LabVIEW和usrp连接实现ofdm通信系统 如何实现
  • NGINX SPRING HTTPS证书
  • WordPress插件Plus WebP,可将jpg、png、bmp、gif图片转为WebP
  • GitLab CI/CD的原理及应用详解(五)
  • 连锁收银系统如何助力实体门店私域运营
  • JETBRAINS IDES 分享一个2099通用试用码!PhpStorm 2024 版 ,支持一键升级
  • 超级好用的C++实用库之MD5信息摘要算法
  • ssm132医院住院综合服务管理系统设计与开发+vue
  • 在Linux上安装并启动Redis
  • vue3.0+antdv的admin管理系统vue-admin-beautiful推荐
  • C# WinForm —— 20 RichTextBox 介绍
  • springmvc数据绑定
  • Milvus的存储/计算分离
  • SHAP值是个什么值?
  • Django接口卡死一直没有返回响应
  • 7-139 有趣的括号
  • 解决qt5.12.12编译源码没有libqxcb的问题
  • 在kubernetes中配置Ingress