el-dialog改变中间内容的高度问题

博客探讨了在使用el-dialog时遇到的内容区域高度无法占满屏幕的问题,原因是全局样式设置了body高度。为了解决这个问题,建议通过覆盖原有CSS,并在单页面中去除scoped属性。同时,为了避免全局影响,应在覆盖样式时添加父层选择器,如`.dialog-container .el-dialog`,确保样式只对特定模块生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

el-dialog中间内容的css(这是个全局样式):

.el-dialog .el-dialog__body {
  border-top: 1px solid #dcdfe6;
  border-bottom: 1px solid #dcdfe6;
  max-height: calc(100vh - 281px); 
  overflow-y: auto;
}

会设置body的高度为全局-281px,故不能设置中间内容占满屏幕,效果如图

修改方法:

覆盖原有的css,在单页面覆盖,需要去掉scoped,但是在覆盖原本的css样式应该加上父层选择器,避免全局覆盖

.backDColor .el-dialog {
  position: relative;
  margin: 0 auto 0px;
  background: #FFFFFF;
  border-radius: 2px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 50%;
  height: 100%;
}
 .backDColor .el-dialog__body {
  border-top: 1px solid #dcdfe6;
  border-bottom: 1px solid #dcdfe6;
   max-height:80% ;
  overflow-y: auto;
}

这样发现发布到线上后没有应用,可以通过给自己样式增加权重来应用,我主要想改变的是高度,故修改后的css,这样就应用上去了

 .backDColor  .el-dialog__body {
  border-top: 1px solid #dcdfe6;
  border-bottom: 1px solid #dcdfe6;
   max-height:80%  !important;
  overflow-y: auto;
}

原本的css前加一个自定义的父层选择器

.a .b{}//表示class为a的里面中class为b的模块的样式

.a,.b{}表示a,b样式一样,没有层级,有逗号

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值