博客列表 >rem+vw的布局原理和流程

rem+vw的布局原理和流程

三九三伏
三九三伏原创
2022年07月18日 17:39:54685浏览

一、三大视口介绍和换算关系

布局视口:面向开发者,用width表示。
视觉视口:面向设备,与具体设备相关,用device-width表示。
理想视口:理想视口就是开发者开发的内容,在设备显示的时候不用拖动,不用缩小放大,正好可以显示,即width=device-width,是一个逻辑概念。

二、rem+vw布局原理和流程

HTML代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <link rel="stylesheet" href="test.css">
  9. </head>
  10. <body>
  11. <div class="title">Hello World</div>
  12. </body>
  13. </html>

CSS代码(test.css)

  1. html{
  2. /* vw 视口宽度,随设备大小改变而改变,正好可以用来反应device-width */
  3. /* rem作为影响整个html的根参考值,应为一个变量,这样可以做到,设备大小改变,rem也有所改变,从而改变所有html元素大小的作用,方便进行布局。 */
  4. /* 假设初始rem大小设为100px,即1rem = 100px */
  5. font-size: 100px;
  6. /* 如果我们把375的设备屏的1rem设为100px,那么其他设备上1rem的大小应该对应有所变化,即1rem应该大于或者小于100px来调整显示以自适应。 */
  7. }
  8. body{
  9. /* 当body字体大小为16px时,他相当于是0.16倍的rem,也就是说当rem为100像素时,body的字体为16像素。 */
  10. font-size: 16px;
  11. }
  12. /* 我们演示通过改变rem进而改变其他元素大小的效果 */
  13. /* 当屏幕小于375px时,如果想把body字号变成14px,不再缩小,那么需要计算下rem的改变 */
  14. @media (max-width :375px){
  15. /* 如果body字体从16px变到14px,是缩小了0.875倍,如果rem为100px,rem缩小0.875倍就是100px*0.875=87.5px。 */
  16. html{
  17. font-size: 87.5px;
  18. }
  19. }
  20. /* 当屏幕成375px增大到大于470px时,如果想把body字号变成20px,之后不再变化,计算如下。*/
  21. @media (min-width :470px){
  22. /* 16px变到20px,是1.25倍,100px的1.25倍是125px。 */
  23. html{
  24. font-size: 125px;
  25. }
  26. }

以上通过vw的大小改变,来模拟改变rem,从而控制元素的显示变化,以达到自适应的效果。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议