flex布局使用起来非常方便,对于水平垂直居中的需求,很容易就能实现。但是前不久,在做全屏弹窗遮罩登录的时候,遇到了flex布局滚动的一个问题,在此记录一下。

问题重现

理想情况下,当然是下面的状态,网页的高度适中,登录框垂直水平居中。

但是,当调整浏览器的高度时,问题就出现了。

可以看到,当网页的高度比登陆框的高度小时,哪怕滚动条已经在顶部了,也看不到登录框的顶部,如果登陆框的右上角有关闭按钮的话,那么也是看不见的。

问题代码

部分html

 <div class="mask">
<div class="content">
<h2>登录框</h2>
</div>
</div>

部分css

.mask {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
display: flex;
justify-content: center;
align-items: center;
overflow: auto;
}
.content {
width: 400px;
height: 600px;
background: #fff;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
}

解决方法

html

 <div class="mask">
<div class="content-wrap">
<div class="content">
<h2>登录框</h2>
</div>
</div>
</div>

html里面,多了一个div,将需要滚动的元素包起来。

css

 .mask {
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
/* display: flex;
justify-content: center;
align-items: center; */
overflow: auto;
}
.content-wrap {
width: 100%;
min-height: 700px;
display: flex;
justify-content: center;
align-items: center;
}

css里面,将遮罩的flex代码去掉了,给新的div设置了一个最低高度。关键就在于最低高度,如果不用最低高度的话,滚动时还是无法全部显示登录框。

下面是最后的效果。

最新文章

  1. ionic 开发笔记
  2. checkbox页面全选
  3. Oracle的自动统计信息不收集直方图的信息
  4. Java中多态、抽象类和接口
  5. 电子面单纸打印时固定高度18cm,到底是多少px
  6. java构造函数,java的静态块理解
  7. 1.2 认识ASP.NET MVC项目结构
  8. 1205. By the Underground or by Foot?(spfa)
  9. myeclipse2014 安装maven3.3.9和mave配置本地仓库
  10. 【BZOJ 1491】 [NOI2007]社交网络
  11. android安全问题(八)伪造短信(利用原生android4.0漏洞)
  12. ubuntu 14.04安装quickbuild server (一)
  13. 人物角色群体攻击判定(三)Physics.OverlapSphere(群体攻击)
  14. C#隐藏桌面图标和任务栏
  15. TCP/IP笔记 四.应用层(1)——DNS
  16. Android中吐司当前电池电量
  17. mac_Mac环境下怎样编写HTML代码?
  18. windows系统下安装composer
  19. Python day 7(2) 类和实例(1)
  20. python爬虫的重定向问题

热门文章

  1. 性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
  2. JS中设置input的type=&quot;radio&quot;默认选中
  3. 结合Pool进程池进程,实现进程之间的通讯,稍微复杂的运用
  4. jQuery基础--总结
  5. Netty之大名鼎鼎的EventLoop
  6. luoguP1505 [国家集训队]旅游(真的毒瘤)
  7. Word 中的橫式格式方程式和數學自動校正
  8. idea 配置maven web项目
  9. MVC路由学习:自定义路由参数(用户看不到参数名),重新定义路由规则
  10. Nginx学习总结:proxy与rewrite模块(三)