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>

这样就好了。

相关推荐
若梦plus几秒前
React19 路由方案与原理详解
前端·javascript·react.js
猩猩程序员1 分钟前
使用用 Rust 开发的 Oxlint 1.0 发布,赶紧上车
前端
GIS之路2 分钟前
OpenLayers 可视化之热力图
前端
若梦plus3 分钟前
React 路由库之 @tanstack/router
前端·react.js
晴殇i19 分钟前
前端工程师必须掌握的SEO实战指南
前端·javascript·面试
problc33 分钟前
CSS 工具对比:UnoCSS vs Tailwind CSS,谁是你的菜?
前端·css
天天摸鱼的java工程师38 分钟前
互联网行业能力解刨:从Java后端八年开发经验看
前端·后端·程序员
brzhang1 小时前
Android 16 卫星连接 API 来了,带你写出「永不失联」的应用
前端·后端·架构
John_ToDebug1 小时前
Chrome 浏览器前端与客户端双向通信实战
前端·c++·chrome
要加油哦~1 小时前
CSS | transition 和 transform的用处和区别
前端·css