zoukankan      html  css  js  c++  java
  • 使用相对长度单位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

    点分享

    点点赞

    点在看

  • 相关阅读:
    降低大气分
    99999
    88888
    77777
    HandlerThread实现原理
    Android 内存泄漏总结
    Handler实现机制,同步屏障,IdleHandler
    launcher 配置
    微信小程序 上传图片七牛
    微信小程序 跳转传参数 传对象
  • 原文地址:https://www.cnblogs.com/a1111/p/14877372.html
Copyright © 2011-2022 走看看