博客列表 >实例演示移动端布局原理

实例演示移动端布局原理

kiraseo_wwwkiraercom
kiraseo_wwwkiraercom原创
2022年07月15日 23:11:34381浏览

实例演示移动端布局原理

原理说明

标准屏 375px (iphone6 的dpi尺寸750 转换为逻辑尺寸375的来的)
通常设置100px =1rem 1rem = 100px = 375px/3.75
以上信息换算,可以理解为这样 375 / 100 = 3.75rem
3.75rem = 100vw
1rem = 100/3.75
通常我们把 html的font-size 设置为100vw/3.75 得出 当前1rem = 26.66vw
如果我们把body的font-size 设置为0.16rem
100vw / 3.75 = 0.16rem 当前屏幕变大时 ,100vw 变大
0.16rem 也会变大。所以对应的尺寸也会发生变化

代码如下

  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. </head>
  9. <body>
  10. <p>标准屏 375px (iphone6 的dpi尺寸750 转换为逻辑尺寸375的来的)
  11. 通常设置100px =1rem 1rem = 100px = 375px/3.75
  12. 以上信息换算,可以理解为这样 375 / 100 = 3.75rem
  13. 3.75rem = 100vw
  14. 1rem = 100/3.75
  15. 通常我们把 html的font-size 设置为100vw/3.75 得出 当前1rem = 26.66vw
  16. 如果我们把body的font-size 设置为0.16rem
  17. 100vw / 3.75 = 0.16rem 当前屏幕变大时 ,100vw 变大
  18. 0.16rem 也会变大。所以对应的尺寸也会发生变化
  19. </p>
  20. <style>
  21. html{
  22. font-size: 100px;
  23. font-size:calc(100vw / 3.75);
  24. }
  25. body {
  26. /* 将默认的16px,用rem表示 */
  27. font-size: 0.16rem;
  28. }
  29. @media (max-width:375) {
  30. /* 14/16 = 0.875px */
  31. /* 1rem = 100 *0.875 = 87.5px */
  32. html{
  33. font-size:87.5px;
  34. /* 设置1rem =87.5px 可保证最小字号14px ,保证用户始终看的清 */
  35. }
  36. }
  37. /* 经过测试观察,当屏幕宽度>=470px 字号 约20px ,就不需要放大显示了 */
  38. @media(min-width:470px){
  39. html{
  40. /* font-size: 应该设置多少合适 */
  41. /* 1 默认1rem=100px。此时body中的font-size为16px */
  42. /* 16px -》1rem = 100px
  43. 20px -》 20/16 = 1.25 = 100*1.25 = 125px
  44. 计算工程
  45. 1i算出16px -> 20px 变化比例 20/16=1.25
  46. 对应的rem应该扩大1.25 1000* 1.25 = 125px
  47. */
  48. font-size: 125px;
  49. }
  50. }
  51. </style>
  52. </body>
  53. </html>

效果图如下

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