美文网首页
vue2.+element 弹窗大小屏固定居中,使用内置滚动条

vue2.+element 弹窗大小屏固定居中,使用内置滚动条

作者: jack_rofer | 来源:发表于2020-10-15 16:16 被阅读0次

1.一般来说,el-dialog可以设置center居中,但是它还能整个弹窗动,就不好看了(scss写法)

<style lang="scss" scoped>
.detailDialog :: v-deep { //这个是弹窗外围的容器类名,这里也使用了deep样式穿透,不用应该可以哈
  display: flex;
  justify-content: center;
  aligin-items: center;
  overflow: hidden;
  .el-dialog { //这里就是控制居中了
   position: absolute;
   top:50%;
   left: 50%;
   margin: 0 !important;
   transform: translate(-50%, -50%);
   max-height: calc(100% - 100px);
   max-with: calc(100% - 100px);
   display: felx;
   flex-direction: column;
  }
 .el-dialog__body {
    overflow: auto;
    padding-top: 0;
   .el-scrollbar {
     .el-scrollbar__wrap {//看需求x或y轴需要滚动
       overflow-x: hidden;
       overflow-y: auto;
     }
     .el-scrollbar__bar.is-vertical {//隐藏滚动条
       right: -6px;
     }
   }
 }
}
</style>

2.还要设置一下el-scrollbar的高度,如果是不同大小的屏幕,则需要动态获取一下

<el-scrollbar wrap-class="scrollar-wrapper" :style="{height: autoHeight}">
 //...这里写你要滚动的内容
</el-scrollbar>

//动态获取屏幕宽高
data() {
  return {
      autoHeight: '600px';
  }
},
created() {
 this.getClientSize();
  window.addEventListener('resize', this.getClientSize)
},
destroyed() {
  window.removeEventListener('resize', this.getClientSize)
}

methods: {
  getClientSize() {
   //const rect = body.getBoundingClientRect(); 在弹窗中没有body,不能用这种方法
  //console.log('rect', rect)
    const Twidth = document.documentElement.clientWidth;
    const Theight = document.documentElement.clientHeight-187;
    this.autoHeight = `${theight}px`
  }
}

相关文章

  • vue2.+element 弹窗大小屏固定居中,使用内置滚动条

    1.一般来说,el-dialog可以设置center居中,但是它还能整个弹窗动,就不好看了(scss写法) 2.还...

  • 移动端

    一、 常见布局 1) 静态布局 传统web布局。固定大小,在屏幕大小进行调整是,出现滚动条,使用滚动条实现页面的浏...

  • 2019-03-25移动端适配

    一、 常见布局 1.静态布局 传统web布局。固定大小,在屏幕大小进行调整使其出现滚动条,使用滚动条实现页面的浏览...

  • 弹框隐藏body滚动条

    弹窗时,隐藏body滚动条 关闭弹窗时,显示body的滚动条

  • 工作中经常要用到的水平垂直居中实现

    业务场景1、弹窗遮罩的水平垂直居中 实现方法1>让弹窗外层固定定位,width、height设置为100%,再让弹...

  • 遇到的问题和解决的方法

    1、flex布局子元素垂直居中,当子元素超过容器大小后,不能通过滚动条滚动到顶端--外层实现垂直和水平居中 --内...

  • 大小不固定的图片和多行文字的垂直水平居中

    大小不固定的图片和多行文字的垂直水平居中一、大小不固定,多行文字的垂直居中① 单行文字可能很多人都知道如何让单行文...

  • winform 窗体控件小结

    1.固定頁面大小:FormBorderStyle选项,选择FixedDialog2.多行滚动条:ScrollBar...

  • 修改DialogFragment的大小

    20210603大屏设备使用DialogFragment时出现了对话框大小差别很大的情况,需要做一些固定大小的限制...

  • CSS布局

    单列布局 实现方式: 定宽+水平居中 max-width和width的区别:固定宽度当浏览器缩小时页面出现滚动条;...

网友评论

      本文标题:vue2.+element 弹窗大小屏固定居中,使用内置滚动条

      本文链接:https://www.haomeiwen.com/subject/sifopktx.html