ASCII码 ASCII码

CSS:vm-rem移动端布局的基本常识

发布于:2022-05-26 15:42:12  栏目:技术文档
  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>vm-rem移动端布局的基本常识</title>
  8. </head>
  9. <body>
  10. <!-- DPR:设备像素比 -->
  11. <!-- 布局视图:默认宽度一般是980px -->
  12. <!-- 视觉视图:眼睛看的到的视图,移动设置的布局视图:375px--iPhone 6/7/8 -->
  13. <!-- name="viewport" content="width=device-width, initial-scale=1.0" -->
  14. <!-- viewport,视觉窗口,
  15. width=device-width,页面的布局宽度
  16. device-width:视觉视图的宽度,设备宽度,二者相等 -->
  17. <!-- device-width:375px
  18. width = 980px
  19. width赋值后就等于375px了
  20. 当前的布局视图,就是当前移动设备浏览器的可视区宽度 -->
  21. <!-- 1. 第一步实现:布局视图 = 视觉视图 -->
  22. <!--2. 第二个小目标:理想视图 = 视觉视图
  23. initial-scale=1.0 这种1:1还原视觉视图的布局,叫理想视图 -->
  24. <!-- !目前 主流的 移动端布局方案:rem + vm -->
  25. <!--
  26. /* iPhone 11 375px
  27. vm:把屏幕分为100份
  28. 100 vm = 100% = 375px */
  29. /* 之前浏览器默认字号 16px
  30. 这个也是默认的rem的大小
  31. 1 rem = 16 px */
  32. /* 为了计算方便,推荐将rem设置为100px
  33. 例如一个元素 */
  34. /* 1 rem = 100 px;
  35. width = 50px = 0.5rem */
  36. /* 通常会给750px的宽度的设计稿,DPR = 2
  37. device-width = 750 px /DPR = 375px
  38. 以后就直接以375px为宽度布局,理想视图来布局 */ -->
  39. <style>
  40. html{
  41. /* font-size: 100px; */
  42. font-size: calc(100vw / 3.75);
  43. /* 1. 第一步:1rem =100 px */
  44. }
  45. body{
  46. /* 把字号还原回去浏览器默认的字号 16px */
  47. /* font-size: 16px; */
  48. font-size: .16rem;
  49. /* 2.第二步 1em = 16px */
  50. }
  51. </style>
  52. <div class="box">hello world</div>
  53. <style>
  54. /* 200px *50px */
  55. .box {
  56. width: 2rem;
  57. height: .5rem;
  58. border: 1px solid #000;
  59. background-color: lightgreen;
  60. box-sizing: border-box;
  61. }
  62. /* vw是当前屏幕宽度的百分比 */
  63. /* 1vw =1% */
  64. /* 当屏幕宽度小于320px的时候,字号不能再小了,否则就看不清了 */
  65. @media screen and (max-width:320px) {
  66. html{
  67. /* font-size: .85rem; */
  68. font-size: 85px;
  69. }
  70. }
  71. /* 当屏幕宽度大于640px,字体不能再大了 */
  72. @media screen and (min-width:640px) {
  73. html{
  74. /* font-size: .85rem; */
  75. font-size: 170px;
  76. }
  77. }
  78. </style>
  79. </body>
  80. </html>
相关推荐
阅读 +