弹框的时候一半会有遮罩层,若出现内容高度大于浏览器高度,如果限制死固定定位的话,无法滚动;
解决方法是:
html
<div class="modal">
<div class="mask"></div>
<div class="content">
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
<p>1234</p>
</div>
</div>
css
html, body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
overflow: hidden
}
.modal {
height: 100%
}
.mask {
position: fixed;
left: 0;
top: 0;
bottom: 0;
right: 0;
background: rgba(0, 0, 0, .6);
z-index: 10
}
p {
margin: 0;
}
.content {
position: fixed;
top: 30px;
left: 0;
right: 0;
bottom: 0;
z-index: 100;
background: #fff;
max-height: 100%;
overflow-y: scroll
}
给遮罩层(mask)和内容(content)都设置一个固定定位,并设置好对应层级,并且给content一个max-height
或height
属性,overflow-y
设置为scroll
,就可以实现弹层内部滚动了。