博主信息
博文 9
粉丝 0
评论 1
访问量 10498
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
响应式布局em/rem/vh/vw的理解
东东
原创
1770人浏览过

响应式布局em和#### em的定义

  1. em只继承父级元素
  2. 1em=16px
  3. em是用于设定font-size,padding,margin,border-radius等元素
  4. em在嵌套时,<1em时会逐级变小,>1em时会逐级变大
  5. 边框不要用em,因为如果用em,会根据字体大小变化,效果会很难看

案例

  1. <style>
  2. :root {
  3. font-size: 0.75em;
  4. }
  5. body {
  6. background-color: aquamarine;
  7. }
  8. @media screen and (min-width: 500px) {
  9. body {
  10. background-color: red;
  11. font-size: 2em;
  12. }
  13. }
  14. @media screen and (min-width: 800px) {
  15. body {
  16. background-color:yellow;
  17. font-size: 3em;
  18. }
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <p>当屏幕宽度大于500px时,屏幕变红,字体变为2em;当屏幕宽度大于800px时,屏幕变黄,字体变为3em</p>
  24. </body>

图样


rem的定义

  1. remroot em的缩写,一般用于设定字号
  2. rem继承的是根元素root的值进行计算
  3. rem一般用于font-size中用于设置字号,但尽可能不用在:root

案例

  1. <style>
  2. :root {
  3. font-size: 0.75em;
  4. }
  5. ul {
  6. font-size: 1.1em;
  7. }
  8. /*当设置为rem时,font-size继承的是根目录的值,因此,他就不会逐级变大*/
  9. ul {
  10. font-size: 2rem;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <ul>
  16. <li>
  17. 在这里学习中
  18. <ul>
  19. <li>
  20. 为了学习
  21. <ul>
  22. <li>
  23. 努力学习
  24. <ul>
  25. <li>
  26. 不要放弃
  27. </li>
  28. </ul>
  29. </li>
  30. </ul>
  31. </li>
  32. </ul>
  33. </li>
  34. </ul>
  35. </body>

px

  • 边框类不需要根据自适元素,要用绝对值px,如:border: 1px solid red

视口:vh和vw

  • vh单位是视口高度的1/100
  • vw单位是视口宽度的1/100
  • vmin选择视口宽高较小的值进行适配
  • vmax选择视口宽高较大的值进行适配

案例

  1. <style>
  2. /* vh单位是视口高度的1/100
  3. vw单位是视口宽度的1/100 */
  4. .box {
  5. width: 60vw;
  6. height: 30vh;
  7. background-color: teal;
  8. margin: auto;
  9. margin-bottom;:1em
  10. }
  11. .box1 {
  12. width: 60vw;
  13. height: 40vh;
  14. background-color: tomato;
  15. margin: auto;
  16. margin-top: 1em;
  17. }
  18. /* 设置一个正方形的容器,确保在横屏和竖屏都能完美的显示成一个正方形.`vmin`选择视口宽高较小的值进行适配,- `vmax`选择视口宽高较大的值进行适配 */
  19. .box2 {
  20. width: 60vmax;
  21. height: 60vmax;
  22. background-color:violet;
  23. margin: auto;
  24. margin-top: 1em;
  25. }
  26. </style>
  27. </head>
  28. <body>
  29. <div class="box">第一个布局</div>
  30. <div class="box1">第二个布局</div>
  31. <div class="box2">第三个布局</div>
  32. </body>

图样

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:总结的非常棒
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学