所以这个问题已经出现并且现在已经解决了1000次(Scroll part of content in fixed position container,child div height 100% inside position: fixed div + overflow auto)但我似乎无法让我的CSS表现出来。
我正在尝试创建一个具有可滚动内部的弹出式div。我有一个深灰色的div应该覆盖整个窗口,并且在窗口中心应该是一个绿色的div。内部div需要有一个边距并且大小适合它的内容,除非内容太大然后需要滚动条。
我无法让滚动工作。我已经尝试过指定最大宽度/高度,但这些似乎被忽略了。
HTML:
<div class='PopupPanelBG'>
<div class='PopupPanel'>
<div>
<div style='width: 1000px;'>some stuff that is really big</div>
</div>
</div>
</div
CSS:
.PopupPanelBG {
display: table;
background: rgba(0, 0, 0, 0.7);
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1000;
overflow: hidden;
}
.PopupPanel {
display: table-cell;
vertical-align: middle;
text-align: center;
position: relative;
overflow: hidden;
}
.PopupPanel>div {
display: inline-block;
vertical-align: middle;
text-align: center;
opacity: 0.9;
background-color: #e1efbb;
border: 1px solid gray;
padding: 8px;
margin: 30px;
overflow : auto;
}
答案 0 :(得分:2)
所以......这有效(有百分之)。
http://jsfiddle.net/Agony/QbmdK/34/
(现在垂直对齐!)
您要注意的是,div
包裹max-width:50%
有innerdiv
,而max-width:100%
有{{1}}。对于任何数据量都适用。
答案 1 :(得分:1)
你在显示属性上摆弄太多而你没有定义最大宽度。这样的事情有效:
.PopupPanelBG {
display: table;
background: rgba(0, 0, 0, 0.7);
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1000;
overflow: hidden;
}
.PopupPanel {
display: table-cell;
vertical-align: middle;
/*text-align: center;*/
position: relative;
}
.PopupPanel>div {
/*display: inline-block;*/
/*vertical-align: middle;*/
text-align: center;
opacity: 0.9;
background-color: #e1efbb;
border: 1px solid gray;
padding: 8px;
margin: 30px auto;
overflow : auto;
max-width: 50%;
}