使用相对长度单位em布局网页内容

顺便问一下哈?那个辣椒酱大家感觉怎么样,你们也买了也尝了,是不是该反馈反馈啦~~如果还有想要的,可以联系我呐!

原文地址:自从有了这款辣椒酱,拌饭再也不用老干妈

前言:在页面开发中,页面元素的尺寸大小和页面的字体大小都是我们不可忽略的内容,一个美观大方、层次分明的页面会让人看起来非常舒服,反之,一个排版布局乱七八糟的页面,不仅用户体验度差,还会增加页面的复杂性,况且在各种设备终端层出不穷的今天,页面的设计更是重要中的重要!对此,我们可以试着对页面元素的大小以及字体的大小,都设置为相对值,不再是固定不变的,怎么样?CSS中,专门有这样的一个单位——em(相对长度单位)即可实现,我们今天就来看看如何使用相对长度单位em布局网页内容?

01

1em等于多少px?

下面我们可以先来看一段代码:

<!DOCTYPE html>
<html>

  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      html {
        font-size: 1em;
      }
    </style>
  </head>

  <body>
    <p>段落1</p>
  </body>

</html>

本代码中,我们将html的字体设置成了1em,一般浏览器默认字体大小是16px,那我们来看看,“段落1”的字体大小是多少px?

答案是16px,也就是当我们html的值是1em时,它的子元素的字体大小都是以浏览器默认的字体大小来呈现出来的。带着这个结论,我们在CSS中新添如下代码:

body{
    font-size: 1.5em;
}

再次看看“段落1”的字体大小是多少?

答案是24px,那么这个24是如何来的呢?“段落1”的字体大小=继承自父元素body的像素1.5em*16px而得来的。接下来我们将p的的字体大小也改成1.5em,你们猜“段落1”的字体大小是多少呢?

p{
    font-size: 1.5em;
}

答案是36px。“段落1”的字体大小=1.5em*该父级元素body的字体大小24px,这个规律大家都知道吧。

到现在为止,我们就可以总结一下em的特点了:

  1. em的值并不是固定的,比如有同学可能自己算了算,将em的默认值当成了16px,其实不然。如果照1em=16px来算的话,最后“段落1”的字体大小应该是1.5em*16px=24px才对,但是实际却是36px。

  1. em会随着父级元素的字体大小的变化而变化的。

02

如何让1em=10px?

由前面的结论我们知道了,浏览器默认的字体大小为16px.那么可以定位html的1em的值就为16px,下面层级如果有变化,依次去乘以16px即可,那么问题来了,次次乘以父级元素的大小也是很麻烦的,可不可以把em的值等于10px,这样10em即是100px,岂不是更好?

我们可以这样修改一下代码:

html{
    font-size: 62.5%;
}
p{
    font-size: 1.5em;
}

再看看“段落1”的字体大小是不是1.5em*10px=15px呢?

确实是的!那是如何做到的呢?前面我们也说过,浏览器默认的字体大小是16px.言外之意就是设置了100%,那如何让它变成10px呢?不就是62.5%吗?

这就是相对长度单位em的用法,是不是很庆幸自己又学会了一个知识点呢?

往期精彩

binarySearch与IndexOf的那些事儿~

2020-11-01

新机必装!那些你不知道的实用技软件在这里!文末免费获取

2020-10-31

自从有了这款辣椒酱,拌饭再也不用老干妈

2020-10-30

如何使用bootstrap实现轮播图?

2020-10-29

班级日常分享:一天一瞬间!

2020-10-29

中流击水,浪遏飞舟

2020-10-28

点分享

点点赞

点在看

posted @ 2020-11-02 06:00  穆雄雄  阅读(48)  评论(0编辑  收藏  举报