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

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);
}

相关文章:

  • 25年上半年五月之软考之设计模式
  • vue2中,codemirror编辑器的使用
  • C++:动态刷新打印内容
  • 《计算机组成原理》——第二章-6 总线定时:同步定时(同步通信)
  • PyTorch高阶技巧:构建非线性分类器与梯度优化全解析​
  • 工业RTOS生态重构:从PLC到“端 - 边 - 云”协同调度
  • 解决用input选择文件不能选择同一个文件
  • webpack学习笔记
  • 深入解析 Linux 进程管理
  • 前端[插件化]设计思想_Vue、React、Webpack、Vite、Element Plus、Ant Design
  • FPGA各种通信接口标准详解
  • 如何升级 npm:从版本管理到最佳实践
  • 【mysql】mysql的高级函数、高级用法
  • Spring生态的核心思想
  • Robust Kernel Estimation with Outliers Handling for Image Deblurring论文阅读
  • 算法修仙传 第一章 灵根觉醒:数组基础与遍历
  • 第十节第七部分:Arrays类、自定义排序规则Comparable、自定义比较器Comparator
  • 计算机组成原理-基本运算部件定点数的运算
  • JavaScript的三大核心组成:ECMAScript、DOM与BOM
  • pytdx数据获取:在线获取和离线获取(8年前的东西,还能用吗?)
  • php租车网站源码/百度热搜广告位
  • 吉林做网站的公司/什么叫营销
  • 网站建设添加视频/游戏推广
  • 河北省做网站哪家公司好/南京网络建站公司
  • 网站建设企业宣传册/网站建设山东聚搜网络
  • 组织建设方面存在的问题/漯河seo推广