Blogger Information
Blog 35
fans 0
comment 0
visits 16991
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
rem+vw的布局原理和流程
三九三伏
Original
687 people have browsed it

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

布局视口:面向开发者,用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,从而控制元素的显示变化,以达到自适应的效果。

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post