深入理解CSS的字体单位px,em,rem 和%

2020-07-23 22:52:43
我们在页面布局时,通常会选择用px作为长度单位,提到em,rem等其他长度单位,很多人会很陌生。接下来就和大家讲讲CSS字体单位px,em,rem,百分比。有需要的朋友可以参考一下,希望对你有帮助。

css字体单位有好多种,我们这里只介绍%,px,em,rem这几种吧

1.百分比%
2.px像素(pixel)。相对长度单位。像素px时相对于显示屏幕分辨率而言的。

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title></title>        <style type="text/css">            .div1{               font-size: 20px;            }        </style>    </head>    <body>        <div class="div1">            字体为20px       </div>    </body></html>

2、em 是相对长度单位。相对于对象文本内的字体尺寸。如果当前行内文本的字体尺寸未被人为设置,则相当于浏览器默认字体尺寸。

任意浏览器的默认字体大小都有是16px。所有未经调整的浏览器的字体尺寸都符合:1em=16px。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title></title>        <style>            body{                /*相对于浏览器的字体大小16px定义,此时浏览器的字体大小为10px,便于以后计算*/                font-size: 62.5%;            }            .div1{                font-size: 2em;            }        </style>    </head>    <body>        <div class="div1">            字体2em相当于20px        </div>    </body></html>

em的特性

1.em的值并不是固定的。
2.em的值会继承父级的字体大小。
3.rem 是css3新引进的一个相对单位(root em)rem仍然是一个相对大小,但是值相对于HTML。通过它既可以做到知修改根元素就成比例的调整所有字体大小,又可以避免字体大小逐层复合的连锁反应

<!DOCTYPE html><html>    <head>        <meta charset="utf-8">        <title></title>        <style>             .div1{                 /*相对于HTMl字体*/                 font-size: 2rem;            }        </style>    </head>    <body>        <div class="div1">            字体2rem相当于32px        </div>    </body></html>

谢谢!