React 前端导航

Chrome 发布新的 CSS 视口单位:svh、lvh、dvh!

Chrome 发布新的 CSS 视口单位:svh、lvh、dvh!

通常情况下我们如果想让一个元素占满全屏高度,可以将高度 height 设置为 100vh,这样你就有了一个随着视口的改变而改变大小的全屏元素。

遗憾的是,在移动端事实并非如此!!!

vw、vh 的问题

要调整视口大小,可以使用 vw 和 vh 单位。

  • 1vw=视口大小宽度的 1%。

  • 1vh=视口大小高度的 1%。

给一个元素 100vw 的宽度和 100vh 的高度,它将完全覆盖视口。

虽然这种宽高设置在PC端浏览器上展示符合我们的预期,但在移动设备上有所不同。在移动端,视口大小受到浏览器动态工具栏的展示影响,动态工具栏可以是地址栏或者选项卡栏。

在动态工具栏的影响下,视口大小是可以改变的,但 vw 和 vh 大小一旦确定就不会更改。因此,大小为 100vh 的元素将从视口中溢出,因为动态工具栏占了一定的高度。

移动端视口

向下滚动时,这些动态工具栏将缩回。在此状态下,大小为 100vh 的元素才会覆盖整个视口。

移动端视口

为了解决这个问题,在 CSS 中指定了视口的各种状态。

新的视口单位

  • 小视口:动态工具栏是展开的

  • 大视口:动态工具栏是缩回的

如下图所示:

移动端视口

表示大视口的单位具有 lv 前缀。单位为 lvw、lvh、lvi、lvb、lvmin 和 lvmax。

表示小视口的单位具有 sv 前缀。单位为 svw、svh、svi、svb、svmin 和 svmax。

除非调整视口本身的大小,否则这些视口百分比单位的大小是固定的。

移动端视口

动态视口

除了大视口和小视口,还有一个动态视口,它考虑了动态工具栏。

展开动态工具栏时,动态视口等于小视口的大小。

当动态工具栏缩回时,动态视口等于大视口的大小。

其附带的单位具有 dv 前缀:dvw、dvh、dvi、dvb、dvmin 和 dvmax。

移动端视口

这些单位在 Chrome108 中发布,加入了已经支持的 Safari 和 Firefox。

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。邮箱:farmerlzj@163.com。 本站原创内容未经允许不得转载,或转载时需注明出处: 内容转载自: React前端网:https://qianduan.shop/blogs/detail/81

#css#视口

相关推荐

css text-align:justify为什么不生效

实现文本两端对齐,css text-align:justify不生效解决办法

正确使用 CSS 的 will-change 属性

will-change 一个既陌生又熟悉的属性,以前在使用这个属性的时候,单纯是因为要做性能优化,加上will-change会使得动画变得流畅一些,但是实际上到底是什么原因导致加上will-change就能使得动画流畅,它有什么弊端?