博客列表 >em,rem的原理与应用场景 、vh与vw

em,rem的原理与应用场景 、vh与vw

手机用户1576673622
手机用户1576673622原创
2021年01月07日 15:27:38890浏览

em、rem原理与应用场景

  1. em、rem是什么?
    • em:浏览器文本的默认字号的相对关键字,通常是16px。em具有动态性和继承性,这是优点。但有时我们非常的需要一个固定值的em,它不应该随着它自身和祖先元素的字号大小而变动,就是rem。
    • rem是一个固定的值,和html中的font-size关联,不受其他影响。非常适合用在font-size中。
  2. em应用场景?
    • 响应式布局的文本字号。 动态设置文本字号,放大或缩小,不用一个个修改,方便。
    • 设置盒模型的属性的响应式 动态调整盒子的大小,只需要调整font-size就行。
  • 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. /* 基本样式 */
    9. .btn {
    10. /* 背景颜色 */
    11. background-color: #1e9fff;
    12. /* 字体颜色 */
    13. color: #fff;
    14. /* 边框 */
    15. border: none;
    16. /* 轮廓线 */
    17. outline: none;
    18. /* 内边距 */
    19. padding: 0.5em 1em;
    20. /* 圆角 */
    21. border-radius: 0.5em;
    22. }
    23. /* 鼠标悬停样式 */
    24. .btn:hover {
    25. /* 透明度 */
    26. opacity: 0.5;
    27. /* 手型 */
    28. cursor: pointer;
    29. /* 外发光 */
    30. box-shadow: 0 0 9px #222;
    31. /* 延时 */
    32. transition: 0.5s;
    33. }
    34. .small {
    35. font-size: 8px;
    36. }
    37. /* 正常的 */
    38. .normal {
    39. font-size: 16px;
    40. }
    41. /* 较大的 */
    42. .larger {
    43. font-size: 24px;
    44. }
    45. </style>
    46. </head>
    47. <body>
    48. <button class="btn small">按钮</button>
    49. <button class="btn normal">按钮</button>
    50. <button class="btn larger">按钮</button>
    51. </body>
    52. </html>
  • em的使用。定义字号

    1. <style>
    2. html {
    3. font-size: 1.25em;
    4. }
    5. h2 {
    6. font-size: 1.5rem;
    7. }
    8. h2 span {
    9. font-size: 2rem;
    10. }
    11. </style>
  • 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. <meta http-equiv="X-UA-Compatible" content="ie=edge">
    7. <title>em响应式布局</title>
    8. <style>
    9. html {
    10. /* font-size = 20px */
    11. font-size: 1.25em;
    12. }
    13. .panel {
    14. font-size: 1.5rem;
    15. margin: 1em 0;
    16. }
    17. .panel p {
    18. font-size: 1rem;
    19. text-indent: 2em;
    20. line-height: 2;
    21. }
    22. @media screen and (min-width: 800px) {
    23. /* 16 */
    24. html {
    25. font-size: 1em
    26. }
    27. .panel {
    28. background-color: rgb(203, 241, 29);
    29. }
    30. }
    31. @media screen and (min-width: 1200px) {
    32. /* 20 */
    33. html {
    34. font-size: 1.25em
    35. }
    36. .panel {
    37. background-color: rgb(23, 201, 103);
    38. }
    39. }
    40. @media screen and (min-width: 1500px) {
    41. /* 24 */
    42. html{
    43. font-size: 1.5em
    44. }
    45. .panel {
    46. background-color: rgb(180, 18, 18);
    47. }
    48. }
    49. </style>
    50. </head>
    51. <body>
    52. <div class="panel">
    53. <h1>冻到开裂!全国冻哭预警地图出炉 10省区小心冻伤</h1>
    54. <div class="panel-body">
    55. <p>小寒小寒冻成一团,没有最冷只有更冷。中国天气网推出2021年首个全国冻哭预警地图,提醒小伙伴们今明(1月6日至7日)天,是此次寒潮过程最冷时段,全国各地寒冷升级,10省区需小心冻伤。</p>
    56. </div>
    57. </div>
    58. </body>
    59. </html>

    可视窗口单位:vh、vw

  • “可视窗口”,浏览器窗口中用于显示文档的可视区域。(视口不包括地址栏,菜单栏,工具条,状态栏)
  • vh: 视口的”初始包含块”的高度的百分之一(1/100)
  • vw: 视口的”初始包含块”的宽度的百分之一(1/100)
    初始包含块: 目前 可以简单的理解为”html”
  • vmin:使用视窗宽与高中的最小的那个。 vmax:使用视窗宽与高中的最大的那个。
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议