el-dialog使用::v-deep()穿透设置样式不生效,解决办法亲测有效!

简介: el-dialog使用::v-deep()穿透设置样式不生效,解决办法亲测有效!

场景:

 
    <el-dialog
      v-model="dialogVisible"
      width="800px"
      :before-close="beforeClose"
      append-to-body
      :close-on-click-modal="false"
      title="增加文档"
    >
     <template #footer>
      <div style="text-align:center">
        <el-button type="primary" @click="saveFieldOption" :disabled="confirmUpload">
          确 定 
        </el-button>
        <el-button @click="uploadDialogClose">取 消</el-button>
      </div>
    </template>
    </el-dialog>
 
    <style lang="scss" scoped>
    ::v-deep(.el-dialog__header) {
      border-bottom: 1px solid #E7E7E7 !important;
      color:#3D3D3D !important;
    }
    ::v-deep(.el-dialog__body) {
      padding: 24px 40px  12px !important;
    }
    </style>

如上:我想给header插槽增加下边框,并且想改变el-dialog__body盒子的内边距,但是不生效。

解决方案

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

    <el-dialog
      class="dialog-bar"
    >
    </el-dialog>

样式:

<style lang="scss">
.dialog-bar{
  .el-dialog__body {
    padding: 24px 40px  12px !important;
  }
  .el-dialog__header {
    border-bottom: 1px solid #E7E7E7 !important;
    color:#3D3D3D !important;
  }
}
</style>

实现效果如下:

注意

  • <style></style>中如果不添加scope,则其中的样式会在所有页面生效,所以务必给该el-dialog添加一个全局都不会重复的类名或者Id属性
  • <style></style>可以与<style  scoped></style>同时存在于同一个组件,两者并不会冲突,除了el-dialog之外的其他样式还是应该写在<style  scoped></style>中,如下图:
<style lang="scss">
.dialog-bar{
  .el-dialog__body {
    padding: 24px 40px  12px !important;
  }
  .el-dialog__header {
    border-bottom: 1px solid #E7E7E7 !important;
    color:#3D3D3D !important;
  }
}
</style>
 
<style lang="scss" scoped>
//除了el-dialog之外的其他样式
</style>

好了,本文就到这里吧,点个关注再走嘛~

相关文章
|
6月前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
451 6
|
6月前
|
前端开发
【UI】 elementui的dialog弹窗打开时CSS的BUG | 滚动条消失bug
【UI】 elementui的dialog弹窗打开时CSS的BUG | 滚动条消失bug
219 0
|
6月前
【el-cascader-plus亲测有限】el-cascader级联选择器懒加载+多选功能回显失败解决方案
【el-cascader-plus亲测有限】el-cascader级联选择器懒加载+多选功能回显失败解决方案
313 0
|
8月前
|
小程序 前端开发 Android开发
微信小程序(van-tabs) 去除横向滚动条样式(附加源码解决方案+报错图)
微信小程序(van-tabs) 去除横向滚动条样式(附加源码解决方案+报错图)
536 1
|
JavaScript
重读vue电商网站9之el-menu 默认会有一个 border-right
重读vue电商网站9之el-menu 默认会有一个 border-right
268 0
重读vue电商网站9之el-menu 默认会有一个 border-right
|
JavaScript
jquery实现tab选项卡同一个按钮不同onClick链接的解决方案
jquery实现tab选项卡同一个按钮不同onClick链接的解决方案
109 0
|
Android开发
Android开发中Button背景颜色不能修改问题及解决方法
Android开发中Button背景颜色不能修改问题及解决方法
1843 0
el-dialog弹出框被遮罩层覆盖的解决办法
el-dialog弹出框被遮罩层覆盖的解决办法
1128 0
el-dialog弹出框被遮罩层覆盖的解决办法
|
C#
全网首发:C#中Form设置$this.Icon,任务栏图标错误的解决办法(bitmap转icon)
全网首发:C#中Form设置$this.Icon,任务栏图标错误的解决办法(bitmap转icon)
319 0
el-dialog嵌套问题,第二个弹窗会被遮住的解决办法
el-dialog嵌套问题,第二个弹窗会被遮住的解决办法
1577 0