Html 集装箱舱不工作的背景色,don';我不明白为什么?
我有一个非常简单的网站,我正在练习,我的container div的Html 集装箱舱不工作的背景色,don';我不明白为什么?,html,css,background-color,Html,Css,Background Color,我有一个非常简单的网站,我正在练习,我的container div的背景色有问题。我确信这是一个非常简单的修复,但我想了解为什么它不起作用。这是我的CSS: body { margin: 0px; padding:0px; height: 100%; background-color: black; } #Container { width: 98%; height: 100%; background-color: grey; } 出于某种原因,我唯一能让它工
背景色有问题。我确信这是一个非常简单的修复,但我想了解为什么它不起作用。这是我的CSS:
body {
margin: 0px;
padding:0px;
height: 100%;
background-color: black;
}
#Container {
width: 98%;
height: 100%;
background-color: grey;
}
出于某种原因,我唯一能让它工作的方法就是在我的身体造型中加入html,这有什么原因吗
body, html {
margin: 0px;
padding:0px;
height: 100%;
background-color: black;
}
谢谢请确保正确调用选择器。这是区分大小写的
Container Vs Container(小写c和大写c)以及dot(.)的(#Vs.)类和Hash(#)的ID(#)问题在于,除了
根元素之外,元素需要具有指定宽度的父元素(以便计算其自身的相对高度),您可以使用相对于视口的单位来避免问题,例如vh
(1vh
等于查看端口高度的百分之一,因此几乎可以直接替代基于%
的高度),例如:
body {
margin: 0px;
padding:0px;
height: 100vh;
background-color: black;
}
#Container {
width: 98%;
height: 100%;
background-color: grey;
}
当然,这种方法的问题在于它限制了#容器的内容增长,并允许
滚动(当然,这可能是出于设计),但您可以使用min height
来避免问题,并允许元素增长:
html {
padding: 0;
margin: 0;
}
body {
margin: 0px;
padding:0px;
min-height: 100vh;
background-color: black;
}
#Container {
width: 98%;
min-height: 100vh;
background-color: grey;
}
#expansion {
height: 3000px;
width: 2em;
background-color: #f00;
}
(请注意,在上面的演示中,我使用了另一个元素来强制展开#容器
,这纯粹是为了演示,而不是此方法所要求的。)
参考资料:
这是因为100%是一个相对单位。如果不声明html
元素的高度,body
不知道100%应该基于什么。此外,建议将body
设置为minheight:100%
,这样当总内容超过视口高度时,它可以“增长”。如果希望其他div使用%作为一个单位,则必须为html指定100%的宽度或高度,这一说法是否正确?@Sai部分正确。将HTML的高度设置为100%将允许其他直接子对象使用基于视口高度的百分比。然而,其他不是身体直接子代的人不会有他们相对于身体的高度。。。这取决于父对象的高度。