看图说话,新 CSS 单位 “svh” “dvh” 原来如此

2022-12-07 14:14:53 浏览数 (2)

本篇通译自:The large, small, and dynamic viewport units


vw 和 vh 单位是我们都比较熟悉的两个单位,100vw 和 100vh 代表着视图窗口的宽和高。

我们在写移动端布局兼容的时候会经常用到它们,类似于百分比的写法;

它们有不错的兼容性:

然而有一个问题,当我们使用 100vh ,且有顶部地址栏或底部操作栏的时候,会出现溢出屏幕的情况:

当滑动滚动条的时候,地址栏和操作栏又会搜索,此时 100vh 又会充满整个窗口:

宽度也是如此,会受滚动条宽度的影响;

为了解决这个问题,出现了两个新单位:

svh、lvh

s 就是 small 的缩写

l 就是 large 的缩写

100 svh 将不会有溢出的情况!

除了 svh 还有另外一个更神奇的新单位:dvh,这个 d 是 dynamic 的缩写,它是动态的:

一图胜千言:

只不过 svh 和 dvh 的支持还没有特别的好

不过将来肯定会用上的~ 因为已经厌倦了那种算顶部栏、底部狂、侧边滚动条宽度及高度的日子。

除了 vh、svh、dvh 这个系列,再回复下另外我们可能忽视的单位:

vmin、vmax

vmin 是设备宽高最小的那个;

vmax 则是设备宽高最大的那个;

vi、vb

vi 是 Viewport Inline,可以简单理解为文本的走向上的宽度;

vb 则是与 vi 垂直;

与之对应的,也是有 svmin、dvmin、svmax、dvmax、svi、dvi、svb、dvb

总而言之:

svh 的 s 就是 small

dvh 的 d 就是 dynamic

看图说话,你学废了吗?


OK,以上便是本篇分享,希望各位工友喜欢~ 欢迎点赞、收藏、评论

0 人点赞