美文网首页前端基础视觉艺术
Css - 长度单位px、pt、em、rem

Css - 长度单位px、pt、em、rem

作者: ElricTang | 来源:发表于2019-10-19 23:39 被阅读0次

一. 相对长度单位

1. em是相对于当前元素的字体大小。(设置font-size时特殊)

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            div{
                font-size:30px;
            }
            .p1{
                font-size:20px;
                text-indent:1em;
            }
            .p2{
                font-size:20px;
                text-indent:20px;
            }
            .p3{
                text-indent:1em;
            }
        </style>
    </head>
    <body>
        <div>
            <p class="p1">hello world - 设置了自身元素的字体大小</p>
            <p class="p2">hello world - 设置了自身元素的字体大小</p>
            <p class="p3">hello world - 没有设置自身元素字体大小</p>
        </div>      
    </body>
</html>
  • 我们设置父元素div字体大小为30px
  • p1设置了自身元素的字体大小为20px,缩进设置为1em
  • p2设置了自身元素的字体大小为20px,缩进设置为20px
  • 最终效果,p1p2的字体大小都为20px,缩进都为20px,和明显text-indent内的em是相对于自身元素的字体大小计算的。
  • p3没有设置自身元素的字体大小,最终效果是:字体大小为30px,缩进也为30px
  • 既然如此,那em不是相对于父元素字体大小吗?p3其实是继承了继承了父元素的字体大小,也就是说p3font-size也是30px,然后text-indentem其实也是根据p3的自身元素字体大小计算的。

为什么有时候说em是根据父元素的字体大小计算呢?

  • 因为在设置font-size的时候可以这么理解。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            div{
                font-size:30px;
            }
            p{
                font-size:1em;
            }
        </style>
    </head>
    <body>
        <div>
            <p>hello world</p>
        </div>
    </body>
</html>
  • 在给子元素设置font-size时发现em的确是相对于父元素的字体大小。其实也很好理解,因为设置子元素的font-size时,元素的字体大小还没有,那怎么参考自己呢?答案就是参考父元素。

2. rem是全部的长度都相对于根元素<html>

  • em需要考虑父元素的关系,html的结构有时候是比较复杂的,每次使用em都要考虑的话不利于维护。
  • rem直接统一参考系为根元素,每次使用rem时先设置<html>的字体大小。
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            html{
                font-size:25px;
            }
            p{
                font-size:2rem;
            }
        </style>
    </head>
    <body>
        <p>hello world</p>
    </body>
</html>

二. 绝对长度单位

1. px 像素(1px = 1/96th of 1英寸( 2.54cm))

2. pt 点(1pt = 1/72th of 1英寸( 2.54cm))

相关文章

  • em和rem

    css中单位长度用的最多的就是px,em,rem。其中,px是固定像素。em和rem是相对长度单位,em相对于父元...

  • Css - 长度单位px、pt、em、rem

    一. 相对长度单位 1. em是相对于当前元素的字体大小。(设置font-size时特殊) 我们设置父元素div字...

  • px, em, rem 的区别和使用场景

    区别 CSS 中,目前我们常用到的长度单位有 px, em, rem。 绝对长度单位px(pixel 像素): 相...

  • rem与em区别

    响应式Web设计—px-em-rem三者区别及rem的使用在css中单位长度用的最多的是px、em、rem,这三个...

  • CSS 单位 px、pt、em、rem

    在 CSS 语言中总会用到各种单位设置,如:font-size、line-height、height、width ...

  • CSS单位

    其实CSS中的长度单位一共有8个,分别是px,em,pt,ex,pc,in,mm,cm。(ex:相对长度单位。相对...

  • 常见单位梳理

    单位(px/em/rem、vw/vh/vmin/vmax) px px像素(Pixel)。相对长度单位。像素px是...

  • 前端常见面试题二十二

    Css单位px,rem,em,vw,vh的区别 像素px是相对于显示器屏幕分辨率而言的 em是相对长度单位。相对于...

  • 11.CSS布局篇之响应式——rem

    rem是什么? px,绝对长度单位,最常用 em,相对长度单位,相对于父元素,不常用 rem,相对长度单位,相对于...

  • CSS数值与单位

    CSS常用的单位有 em rem 百分数 px vw vh . em 相对长度单位相对当前元素的字体大小相同,「f...

网友评论

    本文标题:Css - 长度单位px、pt、em、rem

    本文链接:https://www.haomeiwen.com/subject/wkvrmctx.html