height: 100%;
和 height: 100vh;
是設定元素高度的兩種不同方式,它們之間有一些區別:
-
height: 100%;
:- 這個屬性會使元素的高度等於其父元素的高度。也就是說,元素的高度將會佔據其父元素的百分之百高度。
- 值為百分比時,實際的高度取決於其父元素的高度。如果父元素沒有顯式地設定高度,則
height: 100%;
將不會生效,因為無法確定百分比的基準。
-
height: 100vh;
:vh
表示視口高度(Viewport Height),即瀏覽器可視區域的高度。height: 100vh;
將元素的高度設定為視口高度的百分之百,即元素的高度將填充整個瀏覽器可視區域的高度。- 這種方法不受父元素高度影響,因為它是相對於視口的高度。
因此,主要區別在於:
height: 100%;
是相對於父元素的高度,需要父元素有明確的高度設定才能生效。height: 100vh;
是相對於瀏覽器視口的高度,不受父元素影響,可以確保元素始終填滿整個視口的高度。