html - 我的相对 Div 不会显示背景颜色或图像

标签 html css

我无法理解为什么我的相关 div (.wrap) 不会显示其 css 定义的背景颜色或图像。主体有自己的背景,.wrap 为 div 及其内容创建一个新背景。 (.local 是我试图让 .wrap 创建背景的绝对 div,因为它是我需要从 .wrap 获得单个共享背景的众多 div 之一)

任何帮助将不胜感激!

CSS

body{
min-height: 100%;
min-width:100%;
font-family: 'Open Sans', sans-serif;
background-color: gray;
} 

.wrap {
position: relative;
height: 100%;
width: 70%;
background-color: white;
left: 15%;
}


.local {
position: absolute;
height: 40%;
width: 20%;
}

HTML

<!-- MAIN BODY -->
<div class="wrap">

<!-- LOCAL WEATHER -->
<div class="local">
<p>THIS IS A TEST PARAGRAPH TO SHOW THE RELATIVE DIV ISSUE</p>
<!-- <img src="images/weatherphoto.png"> -->
</div>
</div>

最佳答案

当您绝对定位 .local 时,它会将其移出流程。离开流程后,.wrap 中没有任何内容,因此它折叠到高度为 0。因为 .wrap 的高度为 0,并且 .local 不在流中,body 里面什么也没有,所以它也折叠到 0 的高度。

使用百分比设置 height元素的百分比是其包含元素的百分比。如果一切都崩溃了,就没有什么可分的了。

如果你想让body占据整个屏幕的高度,或许可以考虑使用vh的值,即calculated based on the viewport height。 .

我相信将您的 body 样式更新为:

body{
    height: 100vh;
    min-width:100%;
    font-family: 'Open Sans', sans-serif;
    background-color: gray;
} 

会给你你期望的结果,因为它将 body 的高度定义为相对于视口(viewport)的东西,这反过来又给 .local 一些东西作为百分比。

关于html - 我的相对 Div 不会显示背景颜色或图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41731631/

相关文章:

html - CSS:Div 环绕图像

css - asp.net mvc 5 - StyleBundle CdnFallbackExpression 问题?

javascript - 脚本无法在简单的 html 文件中运行

jquery - 在 jQuery 函数中选择类 a :active span vs. a.active 跨度?

html - 如何将博客内容移动到侧边栏旁边?

CSS:当位置是静态或相对时,我可以将宽度设置为屏幕大小吗?

javascript - CSS 中的 jquery.height() 和 float 参数

php - CodeMirror - PHP 模式不起作用?

html - 使用 bootstrap 将 Div 并排放置

html - Bootstrap 4列对齐问题