博客列表 >《em/rem/vh/vw与响应式布局》20201217

《em/rem/vh/vw与响应式布局》20201217

杨凡的博客
杨凡的博客原创
2020年12月18日 17:49:13587浏览

em,rem的原理

em与rem

  1. 浏览器文本的默认字号,通常是16px
  2. 一般可以用作设置响应式的文本字号
  3. 设置盒模型响应式属性
  4. rem是固定值的em
  5. 边框不能用em或者rem,要用px
  6. rem取的html字号;em取得父级字号
em应用
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>em响应式按钮</title>
  7. <style>
  8. .btn{
  9. /* 背景颜色 */
  10. background-color: #ff6801;
  11. /* 字体颜色 */
  12. color: #fff;
  13. /* 去掉边框 */
  14. border:none;
  15. /* 去掉单机轮廓线 */
  16. outline: none;
  17. /* 内边距 */
  18. padding: 0.5em 1em;
  19. border-radius: 0.3em;
  20. }
  21. /* 鼠标移上悬停效果 */
  22. .btn:hover{
  23. /* 透明度 */
  24. opacity: 0.8;
  25. /* 将鼠标设置为手型 */
  26. cursor: pointer;
  27. /* 阴影效果 */
  28. box-shadow: 0 0 3px #888;
  29. /* 阴影效果延时 */
  30. transition: 0.3s;
  31. }
  32. .small{
  33. font-size: 10px;
  34. }
  35. .normal{
  36. font-size: 16px;
  37. }
  38. .larger{
  39. font-size: 22px;
  40. }
  41. </style>
  42. </head>
  43. <body>
  44. <button class="btn larger">Button</button>
  45. <button class="btn normal">Button</button>
  46. <button class="btn small">Button</button>
  47. </body>
  48. </html>

rem应用
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>rem定义</title>
  7. <style>
  8. html{
  9. font-size: 1.25em;
  10. }
  11. h2{
  12. font-size: 1.5rem;
  13. }
  14. h2 span{
  15. font-size: 1rem;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <h2>PHP中文网<span>php.cn</span></h2>
  21. </body>
  22. </html>

rem/em/vh/vw的区别与联系

vh与vw

  1. 视口单位,视口,浏览器的可视区域,但不包括地址栏、菜单栏、工具栏、状态栏
  2. vh视口的初始包含快的高度的百分之一
  3. vw视口的初始包含快的宽度的百分之一
  4. 移动端布局使用最多
  5. vmin/vmax 可视口最小/最大
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>视口单位: vmin, vmax</title>
  7. <style>
  8. .box {
  9. width: 80vmin;
  10. height: 80vmin;
  11. background-color: lightgreen;
  12. margin: auto;
  13. }
  14. /* .box {
  15. width: 80vmax;
  16. height: 80vmax;
  17. background-color: lightgreen;
  18. margin: auto;
  19. } */
  20. </style>
  21. </head>
  22. <body>
  23. <div class="box"></div>
  24. </body>
  25. </html>

总结:em,rem,vh,vw都是相对大小,不是绝对大小,em是相对于父元素的字体大小,rem是相对于根元素(html)的字体大小,vh是相对于视口高度的百分比,vw是相对于视口的宽度百分比,可以使用vmax,vmin限定元素的指定大小。

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