指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

css之vm_vh_lvm_lvh的差别:

大部分前端都知道,在 CSS 世界中,有 vw、vh、vmax、vmin 这几个与视口 Viewport 相关的单位。
正常而言:
  
1vw 等于1/100的视口宽度 (Viewport Width)
1vh 等于1/100的视口高度 (Viewport Height)
vmin — vmin 的值是当前 vw 和 vh 中较小的值
vmax — vw 和 vh 中较大的值
  
但是,在移动端,情况就不太一样了。100vh 不总是等于一屏幕的高度。有的时候,100vh 高度会出现滚动条。
根因在于:
很多浏览器,在计算 100vh 的高度的时候,会把地址栏等相关控件的高度计算在内2
同时,很多时候,由于会弹出软键盘等操作,在弹出的过程中,100vh 的计算值并不会实时发生变化!
  
新视口相关单位之 lvh、svh、dvh
为了解决上述的问题,规范新推出了三类单位,分别是:

The large viewport units(大视口单位):lvw,lvh, lvi, lvb, lvmin, and lvmax
The small viewport units(小视口单位):svw, svh, svi, svb, svmin, and svmax
The dynamic viewport units(动态视口单位):dvw, dvh, dvi, dvb, dvmin, and dvmax
别看看上去很多,其实很好记忆,vw/vw/vmax/vmin 的前缀是 v,而:
  
大视口单位的前缀是 lv,意为 large viewport
小视口单位的前缀是 sv,意为 small viewport
动态视口单位的前缀是 dv,意为 dynamic viewport
这里我们着重关注 lvh、svh、dvh。它们三者与 vh 有什么异同呢?
  
先来看大视口与小视口,规范对它们的定义是:
Large Viewport: The viewport sized assuming any UA interfaces that are dynamically expanded and retracted to be retracted.
Small Viewport: The viewport sized assuming any UA interfaces that are dynamically expanded and retracted to be expanded.
翻译一下:
  
大视口(Large Viewport):视口大小假设任何动态扩展和缩回的 UA 界面都没有展开
小视口(Small Viewport):视口大小假设任何动态扩展和缩回的 UA 界面都展开了
  
参考链接:https://www.cnblogs.com/coco1s/p/17078218.html