height: 100%; 与 height: 100vh; 在 CSS 中有着不同的含义和应用场景。
-
height: 100%;表示元素的高度将与其父元素的高度相同。但是,要使height: 100%;生效,父元素必须具有明确定义的高度,例如固定高度值或相对定位。如果父元素的高度未被明确定义,那么height: 100%;将不会生效。 -
height: 100vh;表示元素的高度将占据视口(浏览器窗口)的高度。无论父元素的高度如何,使用height: 100vh;将使元素占据整个视口的高度,这对于实现全屏或类似效果非常有用。
因此,主要区别在于 height: 100%; 是相对于父元素的高度,而 height: 100vh; 是相对于视口的高度。
在实际应用中,如果您想让一个元素占据整个视口的高度,可以使用 height: 100vh;;如果想让一个元素与其父元素等高,可以使用 height: 100%;,前提是父元素具有明确定义的高度。