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

vue3样式穿透用法

在Vue3中,样式穿透可通过以下方式实现:

1. 基础用法

使用::v-deep伪类实现样式穿透(兼容Vue2语法):

.parent ::v-deep .child-component {color: red;
}

2. 推荐方式

使用:deep()伪函数(Vue3推荐写法):

.parent :deep(.child-component-inner) {padding: 10px;
}

3. 插槽内容样式

使用:slotted()处理插槽内容:

:slotted(.slot-content) {background: #f0f0f0;
}

4. 全局样式

在scoped样式中定义全局规则:

:global(.global-class) {font-size: 16px;
}

5. 动态选择器

结合属性选择器使用:

:deep([data-test="item"]) {border: 1px solid blue;
}

使用场景示例

<template><el-dialog><div class="custom-content">需要定制的弹窗内容</div></el-dialog>
</template><style scoped>
/* 修改Element Plus弹窗标题 */
:deep(.el-dialog__header) {background: #409eff;
}/* 定制插槽内容样式 */
:slotted(.custom-content) {font-weight: bold;
}
</style>

注意事项

  1. 优先考虑组件props/custom class设计
  2. 避免过度使用样式穿透
  3. 注意样式优先级问题
  4. 使用scoped限定作用域
  5. 在Vue3中已废弃/deep/>>>语法

推荐结合CSS变量使用更灵活的样式定制方案:

:deep(.child-component) {--theme-color: #42b983;color: var(--theme-color);
}

http://www.xdnf.cn/news/8395.html

相关文章:

  • 线性代数基础
  • 消除爆红 [vue/no-unused-vars] ‘row‘ is defined but never used.eslint-plugin-vue
  • Flume之选择器:复制和多路复用(比喻化理解
  • 继电保护与安全自动装置:电力系统安全的守护神
  • 设计模式-行为型模式(详解)
  • 一、ZooKeeper:分布式系统中的隐形协调大师
  • 【图像大模型】AnimateDiff:基于扩散模型的视频生成技术解析与实践指南
  • 家政、维修等服务行业整体解决方案
  • PCB行业标准与专利竞争:高频材料与工艺壁垒
  • 大模型 Agent 就是文字艺术吗?
  • COZE工作流全场景变现新路径:小程序/网站封装集成
  • Robust Kernel Estimation with Outliers Handling for Image Deblurring论文阅读
  • 212. 单词搜索 II
  • Pytorch里面多任务Loss是加起来还是分别backward? | Pytorch | 深度学习
  • 数据结构——树
  • 快捷回复预设文本工具
  • Python字符串及正则表达式
  • 【PhysUnits】9 取负重载(negation.rs)
  • el-input宽度自适应方法总结
  • Matlab入门
  • 个人理解 火山引擎的实时对话 AI 如何利用 WebRTC、大模型、语音识别(ASR)、语音合成(TTS)等技术实现低延迟的实时对话功能。
  • PostgreSQL 数据库备份与恢复
  • 学习黑客 tcpdump
  • 服务器为什么会产生垃圾文件
  • 【JS】Vue 3中ref与reactive的核心区别及使用场景
  • 【JVM 02-JVM内存结构之-程序计数器】
  • 提升推理能力会丢失指令跟随的能力?——【论文阅读笔记】
  • 从逻辑学视角严谨证明数据加密的数学方法与实践
  • 多级Cache
  • 城市地下“隐形卫士”:激光甲烷传感器如何保障燃气安全?