element-plus中el-dialog使用::v-deep()穿透设置样式不生效踩坑记录

场景:

html 复制代码
    <el-dialog
      v-model="dialogVisible"
      width="50%"
      :before-close="beforeClose"
      append-to-body
      draggable
      center
      title="标题"
    >
    <template #footer>
        <span class="dialog-footer">
          <el-button type="primary" @click="handlePublish">确 定</el-button>
          <el-button @click="beforeClose">取 消</el-button>
        </span>
      </template>
    </el-dialog>
    <style scope>
    ::v-deep(.el-dialog__header) {
	    border-bottom: none;
 	 }
 	::v-deep(.el-dialog__body) {
   	 padding: 20px 20px 0;
 	 }
  	::v-deep(.el-dialog__footer) {
  	  padding: 10px 20px 20px;
   	 border-top: none;
 	 }
    </style>

如上:我想去掉插槽自带的下边框和上边框,但是不生效。

解决方案

给el-dialog加个类,在不带scope的<style></style>中设置样式,如下:

html 复制代码
    <el-dialog
      class="tip-dialog"
    >
    </el-dialog>

样式:

css 复制代码
<style lang="scss">
.tip-dialog {
  .el-dialog__header {
    border-bottom: none;
  }
  .el-dialog__body {
    padding: 20px 20px 0;
  }
  .el-dialog__footer {
    padding: 10px 20px 20px;
    border-top: none;
  }
}
</style>

这样就好了。

相关推荐
梦6507 小时前
Vue 单页面应用 (SPA) 与 多页面应用 (MPA) 对比
前端·javascript·vue.js
清铎7 小时前
大模型训练_week3_day15_Llama概念_《穷途末路》
前端·javascript·人工智能·深度学习·自然语言处理·easyui
岛泪7 小时前
把 el-cascader 的 options 平铺为一维数组(只要叶子节点)
前端·javascript·vue.js
Kiyra8 小时前
阅读 Netty 源码关于 NioEventLoop 和 Channel 初始化部分的思考
运维·服务器·前端
冰暮流星8 小时前
javascript的switch语句介绍
java·前端·javascript
做科研的周师兄8 小时前
【MATLAB 实战】|多波段栅格数据提取部分波段均值——批量处理(NoData 修正 + 地理信息保真)_后附完整代码
前端·算法·机器学习·matlab·均值算法·分类·数据挖掘
da_vinci_x8 小时前
图标量产:从“手绘地狱”到“风格克隆”?Style Reference 的工业化实战
前端·游戏·ui·prompt·aigc·设计师·游戏美术
利刃大大9 小时前
【ES6】变量与常量 && 模板字符串 && 对象 && 解构赋值 && 箭头函数 && 数组 && 扩展运算符 && Promise/Await/Async
开发语言·前端·javascript·es6
天若有情6739 小时前
ES6 模块与 CommonJS 的区别详解
前端·javascript·es6
大猫会长9 小时前
postgreSQL中,RLS的using与with check
开发语言·前端·javascript