• css中字体常用单位px、em、rem和%的区别及用法总结


    一、px、em、rem和%的定义

    1.px(像素)

    px单位的名称为像素,它是一个固定大小的单元,像素的计算是针对(电脑/手机)屏幕的,一个像素(1px)就是(电脑/手机)屏幕上的一个点,即屏幕分辨率的最小分割。由于它是固定大小的单位,单独用它来设计的网页,如果适应大屏幕(电脑),在小屏幕(手机)上就会很不友好,做不到自适应的效果。

    示例:

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8" /> 
      <title>css px像素固定长度单位</title> 
      <style type="text/css">
        body{background-color: #aaa;}
       .px{border:1px solid red;width:300px;height:100px;font-size:30px;}
      </style>
     </head>
     <body> 
      <div class="px">
       用px单位设置元素的宽高和文本的字体大小
      </div> 
     </body>
    </html>

    运行结果:

    2.em(相对长度单位)

    em单位用的也比较多,特别是国外;em单位的名称为相对长度单位,它是用来设置文本的字体尺寸的,相对于父级元素对象内文本的字体尺寸;如果没有人为设置当前对象内文本的字体尺寸,那么它相对的是浏览器默认的字体尺寸(16px)。

    示例:

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8" /> 
      <title>用em相对长度单位来设置文本的字体大小</title> 
      <style type="text/css">
        body{background-color: #aaa;}
        .div{border:1px solid red;width:300px;height:100px;font-size:30px;}
        .em{font-size:0.5em;}/*30px x 0.5 = 15px*/
      </style>
     </head>
     <body> 
      <div class="div">
       <span class="em">用em相对长度单位来设置文本的字体大小</span>
      </div> 
     </body>
    </html>

    运行结果:

    说明:以上实例em是相对于父级元素div的,div设置的字体大小为30px,所以0.5em计算后的字体大小为:30px x 0.5 = 15px

    3.rem(css3新增的相对长度单位)

    rem是css3新增的一个相对长度单位,它的出现是为了解决em的缺点,em可以说是相对于父级元素的字体大小,当父级元素字体大小改变时,又得重新计算。rem出现就可以解决这样的问题,rem只相对于根目录,即HTML元素。所以只要在html标签上设置字体大小,文档中的字体大小都会以此为参照标准,一般用于自适应布局。

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8" /> 
      <title>用css3新增的相对长度单位rem来设置文本的字体大小</title> 
      <style type="text/css">
        body{background-color: #aaa;}
       .div{border:1px solid red;width:300px;height:100px;font-
     size:30px;}
       .rem{font-size:0.5rem;}/*16px x 0.5 = 8px*/ 
    </style>
     </head>
     <body> 
      <div class="div">
       <span class="rem">用rem相对长度单位来设置文本的字体大小</span>
      </div> 
     </body>
    </html>

    说明:rem是相对于根元素html元素的,浏览器一般默认字体大小为16px,所有0.5rem的计算后的字体大小为:16px x 0.5 = 8px,跟父元素设定的30px没有关系

    4.%(百分比)

    %也很常见,它和em差不多一样,都是相对于父级元素。但%可以在很多属性中使用,比如:width、height、font-size等。而em是用来设置字体大小(font-size)的单位,width、height等属性是没有em单位的。

    二、px、em、rem和%的区别与总结

    1. px是固定长度单位,不随其它元素的变化而变化;
    2. em和%是相对于父级元素的单位,会随父级元素的属性(font-size或其它属性)变化而变化;
    3. rem是相对于根目录(HTML元素)的,所有它会随HTML元素的属性(font-size)变化而变化;
    4. px和%用的比较广泛一些,可以充当更多属性的单位,而em和rem是字体大小的单位,用于充当font-size属性的单位
    5. 一般来说:1em = 1rem = 100% = 16 px
  • 相关阅读:
    kubectl 命令详解
    codeforce344 C report
    poj3041 建图+最小顶点覆盖(最大匹配数)
    poj1637 混合欧拉回路的判定
    poj1149 最大流好题 难在建图 好题
    targan 算法模板
    poj2186 强连通分量 targan算法的应用
    poj2723 2分 + 2-sat
    poj3061 尺取法
    poj3207 2-sat基础题
  • 原文地址:https://www.cnblogs.com/vickylinj/p/10931735.html
Copyright © 2020-2023  润新知