博客列表 >em,rem px 的运用场景,em和rem的区别

em,rem px 的运用场景,em和rem的区别

半生
半生原创
2020年10月27日 09:40:04853浏览

em 的运用

  • em:浏览器默认的字号大小

  • 案例1:在内联框架中em设置字号时的遇到的问题


  • 代码示例:
    `<!DOCTYPE html>
    <html lang="">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>

    1. /* root :根元素 */
    2. /* em=16px */
    3. :root {
    4. /* 1.25em = 1.25 * 16 = 20px */
    5. font-size: 1.25em;
    6. /* 此时:1em = 20px */
    7. }
    8. ul {
    9. /* 内联框架中:当字号大小 < 1em 时,会导致字号逐级变小,这里受浏览器最小字号的限制 */
    10. font-size: 0.8em;
    11. /* 当字号大小 > 1em 时,字号大小会逐级变大 */
    12. font-size: 1.2em;
    13. }

    </style>
    </head>
    <body>

    <!-- 建立一个内联框 -->

    <ul>

    1. <li>项目1
    2. <ul>
    3. <li>项目2
    4. <ul>
    5. <li>项目3
    6. <ul>
    7. <li>项目4</li>
    8. </ul>
    9. </li>
    10. </ul>
    11. </li>
    12. </ul>
    13. </li>

    </ul>
    </body>
    </html>`


  • 在内联框架中,字体大小小于1em时的变化,效果图

  • 当字号大小,大于1em时的变化,效果图


案例2:在内联框架中em出现的问题的解决方法

  • 这里用到一个新的单位:rem
  • rem:em对于当前元素计算,而rem相对于根元素的字号计算
  • 代码如下:
    `<!DOCTYPE html>
    <html lang="">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>用rem设置字号</title>
    <style>

    1. :root {
    2. /* 设置字号大小 */
    3. /* 1.25em = 20px */
    4. font-size: 1.25em;
    5. }
    6. /* rem: root em 的缩写 */
    7. /* rem: 不像em, em是一个相对于当前元素计算,而rem相对于根元素字号计算 */
    8. /* root根元素只有一个,在所在页面中的任何地,使用rem引用的同一个值(固定值) */
    9. ul {
    10. /* 这里rem继承root的字号大小
    11. 0.8rem = 0.8 * 20px = 16px */
    12. font-size: 0.8rem;
    13. /* 这里rem继承root的字号大小,不再继承当前元素字号的大小
    14. 1.2rem = 1.2 * 20px = 24px */
    15. font-size: 1.2rem;
    16. }

    </style>
    </head>
    <body>
    <ul>

    1. <li>项目1
    2. <ul>
    3. <li>项目2
    4. <ul>
    5. <li>项目3
    6. <ul>
    7. <li>项目4</li>
    8. </ul>
    9. </li>
    10. </ul>
    11. </li>
    12. </ul>
    13. </li>

    </ul>
    </body>
    </html>`


  • 效果图演示

  • 总结:1. em:在padding,manrgin,border-radius(边框圆角),width,height放心的使用 em
    1. 2. em:在设置字号的时候font-size,在元素嵌套时一定要注意
    2. 3. 边框不要用em,应该给一个绝对值 pxborder1px solid
    3. 4. css设计者为了解决em在设置字号的问题上,专门发现了一个新单位:rem
    4. 5. rem:用在font-size,设置字号,尽可能不要用在:root
    5. 6. em:用在依赖字号的属性上,如:paddingmarginwidthheight,.....
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议