height: 100%;
和 height: 100vh;
是设置元素高度的两种不同方式
-
height: 100%;
: - 这个属性会使元素的高度等于其父元素的高度。也就是说,元素的高度将会占据其父元素的百分之百高度。
- 值为百分比时,实际的高度取决于其父元素的高度。如果父元素没有显式地设置高度,则
height: 100%;
将不会生效,因为无法确定百分比的基准。
2、height: 100vh;
:
vh
表示视口高度(Viewport Height),即浏览器可视区域的高度。height: 100vh;
将元素的高度设置为视口高度的百分之百,即元素的高度将填充整个浏览器可视区域的高度。- 这种方法不受父元素高度影响,因为它是相对于视口的高度
因此,主要区别在于:
height: 100%;
是相对于父元素的高度,需要父元素有明确的高度设置才能生效。height: 100vh;
是相对于浏览器视口的高度,不受父元素影响,可以确保元素始终填满整个视口的高度