px vs em vs rem

作者: 一俢 | 来源:发表于2019-01-20 10:01 被阅读78次

pxemrem都是网页设计中的长度单位。px是最常用的单位,它是 Pixel 的缩写代表像素,它是计算机图像显示的最小单位;em(font size of the element)它是一个相对大小的单位,它的大小会相对于它的父级元素的字体大小;rem(font size of the root element)它也是一个相对大小的单位,但是它相对于根元素字体的大小;

px

px单位就不用多解释了,非常常见。

em

em是为了解决长度单位在不同缩放比例下浏览器中能够更好的显示的问题,它是一个相对大小的单位,但是它是相对于其父级元素的大小,这样导致了一个问题,在现在复杂的网页下,层层嵌套的元素最终导致很难控制大小。

html {
    font-size: 62.5%; /*10 ÷ 16 × 100% = 62.5%*/
}

body {
    font-size: 1.2em; /*1.2em × 10 = 12px */
}

p {
    font-size: 1.2em; /*1.2em × ? = ? */
}

上面的例子我们可以看到,浏览器默认字体大小为16pxhtml的字体大小为16px * 62.5% = 10pxbody的字体大小相对于html元素,计算出来为12px;但是p的大小很难计算,因为我们不知道它的父级元素的字体大小到底是多少,它的父级元素字体大小可能是12px、也有可能是20px,它太难控制了。

rem

CSS3 的出现让我们对相对的尺寸有了更加稳定的设置方法:那就是remrem它是相对于根元素来计算大小的:

html {
    font-size: 62.5%; /*10 ÷ 16 × 100% = 62.5%*/
}

body {
    font-size: 1.2rem; /*1.2rem × 10 = 12px */
}

p {
    font-size: 1.4rem; /*1.4rem × 10 = 14px */
}

这样一来,我们可以很好的来控制长度单位的大小,它是一旦设置就是一个稳定的值;我们经常在响应式设计中采用这样的长度单位,通过媒体查询可以让长度单位更加符合不同屏幕大小:

html {
    font-size: 62.5%; /* 10 ÷ 16 × 100% = 62.5% */
}

@media screen and (min-width: 400px) {
    html {
        font-size: 75%; /* 12 ÷ 16 × 100% = 75% */
    }
}

@media screen and (max-width: 319px) {
    html {
        font-size: 50%; /* 8 ÷ 16 × 100% = 50% */
    }
}

参考

相关文章

  • px vs em vs rem

    px、em和rem都是网页设计中的长度单位。px是最常用的单位,它是 Pixel 的缩写代表像素,它是计算机图像显...

  • REM vs EM

    网页字体排版的最佳实践之一就是使用相对单位,如rem和em. 问题是,你应该使用哪一个呢?一直以来,rem支持者和...

  • px、em、rem的区别

    PX em rem

  • rem,px,em单位区别

    rem,px,em单位区别

  • em和rem

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

  • em、rem、px区别

    css中如何区分em、rem、px? 随着css学习的不断深入页面也随之丰富,那么em、rem、px是我们在页面布...

  • 浅谈使用rem实现页面自适应布局

    在谈到rem时大家可能都会想到em px等用于设置页面元素的单位,但就rem来说它有em和px不可达的优点。rem...

  • rem与em区别

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

  • 2019-08-29

    px、rem、em的区别 随着css学习的不断深入页面也随之丰富,那么em、rem、px是我们在页面布局中经常会用...

  • em与rem区别 em与px转换

    em与rem区别 em与px转换 em与px转换 一般浏览器默认1em=16px,通过设置font-size大小来...

网友评论

    本文标题:px vs em vs rem

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