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>

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

目录
打赏
0
0
0
0
13
分享
相关文章
vue中使用echarts实现省市地图绘制,根据数据显示省市天气图标及温度信息
vue中使用echarts实现省市地图绘制,根据数据显示省市天气图标及温度信息
1014 1
有关element UI el-table 跟el-dialog搭配使用出现的问题,背景问题,穿透问题
有关element UI el-table 跟el-dialog搭配使用出现的问题,背景问题,穿透问题
602 0
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
3037 0
解决el-descriptions的label-class-name不生效问题
解决el-descriptions的label-class-name不生效问题
1399 0
饿了么el-dialog自定义内容以及el-dialog自定义样式
饿了么el-dialog自定义内容以及el-dialog自定义样式
838 0
vue里样式不起作用的方法,可以通过deep穿透的方式
vue里样式不起作用的方法,可以通过deep穿透的方式
657 0
Vue3报错:Extraneous non-props attributes (style) were passed to component but could not be automatical
Vue3报错:Extraneous non-props attributes (style) were passed to component but could not be automatical
4568 1
利用 el-select 和 el-tree 实现树形结构多选框联动功能
本文详细介绍了如何使用ElementUI中的el-select下拉选择器和el-tree树形控件来实现多功能联动选择器,包括多选、删除、搜索、清空选项等功能。通过树形控件展示复杂的层级结构,用户可以通过下拉选择树形节点,实时搜索节点,且支持批量选择和删除功能。文中提供了完整的HTML、JavaScript和CSS代码实现,帮助开发者快速集成此功能。
3057 0
利用 el-select 和 el-tree 实现树形结构多选框联动功能
|
12月前
|
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
7889 1
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
10月前
Vue3 中使用 Event Bus
【10月更文挑战第16天】Event Bus 是 Vue3 中一种简单而实用的通信方式,在一些简单的场景中可以发挥重要作用。但在实际应用中,要根据项目的具体需求和复杂度,选择合适的通信方式,以实现最佳的性能和可维护性。同时,要遵循最佳实践,合理使用 Event Bus,避免出现问题。
1033 60
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问