CSS–为什么身高百分比不起作用?[副本]

这个问题在这里已经有答案了
百分比高度HTML5/CSS

(6个答案)

五年前关闭的

为什么高度的百分比值不起作用,而宽度的百分比值起作用

例如:

<div id=“正在工作”&gt&lt/部门>
<div id=“不工作”&gt&lt/部门>
#正在工作{
宽度:80%;
高度:140像素;
背景:橙色;
}
#不起作用{
宽度:80%;
身高:30%;
背景:绿色;
}

#工作的宽度最终为视口的80%,但#不工作的高度最终为0

块元素的高度默认为块内容的高度。因此,考虑到这样的情况:

<div id=“外部”>
<div id=“内部”>
<p>煎饼屋在哪里?&lt/p>
&lt/部门>
&lt/部门>

#内部将增长到足以容纳段落的高度,#外部将增长到足以容纳#内部

将高度或宽度指定为百分比时,这是相对于图元父级的百分比。在宽度的情况下,除非另有规定,否则所有块元素的宽度与它们的父元素的宽度一样,直到<html>因此,块元素的宽度与其内容无关,如果说width:50%,则会产生定义良好的像素数

但是,块元素的高度取决于其内容,除非指定特定高度。因此,在涉及高度的父元素和子元素之间存在反馈,并且说height:50%不会产生定义良好的值,除非您通过给父元素一个特定的高度来打破反馈循环

发表评论