固定位置div的CSS溢出问题

时间:2013-10-28 14:28:00

标签: html css

所以这个问题已经出现并且现在已经解决了1000次(Scroll part of content in fixed position containerchild 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;
}

http://jsfiddle.net/QbmdK/

2 个答案:

答案 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%;
}