css - div 中的 div 的高度与父级不同。为什么?

标签 css

我有一个带有 class=main-content 的 div,它的高度为 100%。我创建了一个弹出窗体,它在单击链接时弹出。理想情况下,此表单位于构成整个页面的 div 中。这样我就可以让这个 div 有一个灰色的背景颜色,所以它给用户一个外观,他不能在表单外点击。

但是弹出窗口的高度与父窗口的高度不同,即使我将高度设置为 100%。为什么是这样?我认为高度应该以包含 block 的百分比为单位。因此它不应该和 parent 一样高吗?

请看下面的代码和截图。我正在使用 Bootstrap ,所以这可能是一个因素,尽管根据我的屏幕截图,似乎没有任何东西覆盖我的高度参数。

编辑:我应该提到我正在使用允许嵌套 CSS 的 SCSS。

这表明主要内容的高度设置为 100%,并且确实是全屏。 Main Content

这表明叠加弹出窗口的高度设置为 100%,但不是全屏。为什么? Overlay modal

这是我的 HTML 和 CSS:

<div class="main-content">
    <!--...the page without the modal goes here -->

   <!--modal starts --> 
    <div id='overlay'>
        <div id = 'modalpopout'>

        </div>
    </div>
   <!--modal ends-->
</div>

CSS

.main-content{
height:100%;
padding:50px 0 40px 0;
}


#overlay {
 visibility: hidden;
 position: absolute;
 left: 0px;
 top: 0px;
 width:100%;
 height:100%; 
 text-align:center;
 z-index: 1000;
 background-color:rgba(105,105,105,0.8);
 #modalpopout {
     width:500px;
     margin: 100px auto;
     background-color: #fff;
     border:1px solid #000;
     padding:15px;
     text-align:center;

     }
}

最佳答案

尝试将position: relative;添加到.main-content

关于css - div 中的 div 的高度与父级不同。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995029/

相关文章:

php - 如何在输入字段中显示占位符名称而不是值名称

css - 如何在css中使 body 背景图像透明?

css - 如何将 CSS 仅应用于一级列表项(而不是子元素)

html - 如何使div中的列表在列表中的内容之后展开

html - 更改 div 宽度会导致所有内容转到 div 的底部

iphone - 停止位置 :fixed from zooming with user in iOS?

css - 如何在外部样式表中设置 u ="#"的样式

css - 如何根据 768px 以下的屏幕尺寸制作 col-xs-12 和 col-xs-6

css - 相对于其绝对定位的父元素,哪个位置是绝对定位的元素?

css过滤器使元素成为一种颜色