Html 为什么百分比高度在位置固定元件上起作用?
我了解到,只有当父元素(和父元素)都设置了Html 为什么百分比高度在位置固定元件上起作用?,html,css,Html,Css,我了解到,只有当父元素(和父元素)都设置了height值时,百分比高度才起作用。但是为什么在位置上不需要这样做:fixed元素 div{ 位置:固定; 宽度:50%; 身高:100%; 背景:银; } 占位符位置:固定的相对于屏幕的视口,忽略父元素的位置 固定的 不要为元素留空间。相反,将其放置在相对于屏幕视口的指定位置,滚动时不要移动它。打印时,将其放置在每页的固定位置 通常,如果父对象具有初始的高度:auto,则百分比不起作用 这是因为height百分比是相对于建筑物的高度进行解析的。但
height
值时,百分比高度才起作用。但是为什么在位置上不需要这样做:fixed
元素
div{
位置:固定;
宽度:50%;
身高:100%;
背景:银;
}
占位符
位置:固定的相对于屏幕的视口,忽略父元素的位置
固定的
不要为元素留空间。相反,将其放置在相对于屏幕视口的指定位置,滚动时不要移动它。打印时,将其放置在每页的固定位置
通常,如果父对象具有初始的高度:auto
,则百分比不起作用
这是因为height
百分比是相对于建筑物的高度进行解析的。但是,如果建立包含块的块祖先具有高度:auto
,则其高度将是其内容的高度
这将是一个循环定义,因此百分比被视为auto
但是,使用(包括)可以避免此问题。采用绝对定位的元素,因此它们不会影响具有高度:auto
的块祖先的高度。在这种情况下,它不再是一个循环定义,所以它可以工作
下文对此进行了解释:
该百分比是根据建筑物的高度计算的
生成的框的。如果容器的高度
块未明确指定(即,它取决于内容
高度),并且该元素不是绝对定位的,该值
计算为“自动”