flex布局滚动问题,子元素无法全部显示的解决办法
2024-10-16 21:10:36
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设置了一个最低高度。关键就在于最低高度,如果不用最低高度的话,滚动时还是无法全部显示登录框。
下面是最后的效果。
最新文章
- ionic 开发笔记
- checkbox页面全选
- Oracle的自动统计信息不收集直方图的信息
- Java中多态、抽象类和接口
- 电子面单纸打印时固定高度18cm,到底是多少px
- java构造函数,java的静态块理解
- 1.2 认识ASP.NET MVC项目结构
- 1205. By the Underground or by Foot?(spfa)
- myeclipse2014 安装maven3.3.9和mave配置本地仓库
- 【BZOJ 1491】 [NOI2007]社交网络
- android安全问题(八)伪造短信(利用原生android4.0漏洞)
- ubuntu 14.04安装quickbuild server (一)
- 人物角色群体攻击判定(三)Physics.OverlapSphere(群体攻击)
- C#隐藏桌面图标和任务栏
- TCP/IP笔记 四.应用层(1)——DNS
- Android中吐司当前电池电量
- mac_Mac环境下怎样编写HTML代码?
- windows系统下安装composer
- Python day 7(2) 类和实例(1)
- python爬虫的重定向问题
热门文章
- 性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控
- JS中设置input的type=";radio";默认选中
- 结合Pool进程池进程,实现进程之间的通讯,稍微复杂的运用
- jQuery基础--总结
- Netty之大名鼎鼎的EventLoop
- luoguP1505 [国家集训队]旅游(真的毒瘤)
- Word 中的橫式格式方程式和數學自動校正
- idea 配置maven web项目
- MVC路由学习:自定义路由参数(用户看不到参数名),重新定义路由规则
- Nginx学习总结:proxy与rewrite模块(三)