em是相对长度单位。

em会继承父级元素的字体大小。如果没有设置,则是相对于浏览器的默认字体尺寸。

浏览器默认字体16px,1em=16px。

为了方便计算,一般在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

<p class="p4">父级10px,自己2em的p</p>
 div {
        font-size: 16px;
    }
    .p4 {
        font-size: 2em;
    }

尝试把父级字体设置为62.5%

 <div class="div">
        <p>父级62.5%,p为16em</p>
        <p>16px</p>
    </div>
 .div {
        font-size: 62.5%;
    }
    .div p:first-child {
        font-size: 1.6em;
    }
    .div p:last-child {
        font-size: 16px;
    }

两个都是实际16px大小。

三个一起举(三)个例子 分别使用三个单位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
    html {
        font-size: 1px;
    }
    .p1 {
        font-size: 16rem;
    }
    .p2 {
        font-size: 16px;
    }
    .p3 {
        font-size: 16em;
    }

    </style>
</head>
<body>
    <div>
        <p class="p1">设置为16rem的p</p>
        <p class="p2">设置为16px的p</p>
        <p class="p3">设置为16em的p 父级没fontsize,相对于浏览器默认的16px</p>
    </div>
</body>
</html>

显示成这样子 👆 控制台检查会发现这几个p的字体大小一样

ps:相对单位们也可以给margin之类的属性用,我的理解是 大多数能用px的地方都能用相对单位,不能用的叉出来单独记

哦对还有%,很简单啊就是按照父元素的百分比计算~~~~

优质内容筛选与推荐>>
1、jQuery 素材 缩略图轮播集合
2、用 wait-notify 解决生产者-消费者问题
3、《别做正常的傻瓜》后续笔记—幸福的准则
4、C#中三种传值的方法
5、IIS Express 7.5 HTTP 错误 500.22


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号