em,rem的区别与使用

9 篇文章 0 订阅

一,rem单位如何转换为像素值

1.当使用rem单位的时候,页面转换为像素大小取决于叶根元素的字体大小,即HTML元素的字体大小。根元素字体大小乘rem的值。

例如,根元素的字体大小为16px,那么10rem就等同于10*16=160px。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <style>

        html{

            font-size: 16px;

        }

        .test{

            width: 10rem;

            height: 10rem;

            background-color: #ff7d42;

            font-size: 2rem;

        }

    </style>

</head>

<body>

    <div class="test">hello</div>

 

</body>

</html>

可以看到此时test的div宽度为160px,字体大小为32px。

 

二、em是如何转换成px的。

当使用em单位的时候,像素值是将em值乘以使用em单位的元素的字体大小。

例如一个div的字体为18px,设置它的宽高为10em,那么此时宽高就是18px*10em=180px。

.test{

    width: 10em;

    height: 10em;

    background-color: #ff7d42;

    font-size: 18px;

}

一定要记住的是,em是根据使用它的元素的font-size的大小来变化的,而不是根据父元素字体大小。有些元素大小是父元素的多少倍那是因为继承了父元素中font-size的设定,所以才起到的作用。

 

 

2.em单位的继承效果。

使用em单位存在继承的时候,每个元素将自动继承其父元素的字体大小,继承的效果只能被明确的字体单位覆盖,比如px和vw。

只要父级元素上面一直有fontsize为em单位,则会一直继承,但假如自己设置了font-size的单位为px的时候,则会直接使用自己的px单位的值。

 

 

三、根html的元素将会继承浏览器中设置的字体大小,除非显式的设置固定值去覆盖。所以html元素的字体大小虽然是直接确定rem的值,但这个字体大小首先是来源于浏览器的设置。(所以一定要设置html的值的大小,因为有可能用户的浏览器字体大小是不一致的。)

 

四、当em单位设置在html元素上时,它将转换为em值乘以浏览器字体大小的设置,

例如,

html{

    font-size: 1.5em;

}

 

可以看到,因为浏览器默认字体大小为16px,所以当设置HTML的fontsize的值为1.5em的售后,其对应的px的值为16*1.5=24px。

 

所以此时,再设置其他元素的rem的值的时候,其对应的像素值为n*24px。

例如,test的rem的值为10,

.test{

    width: 10rem;

    height: 10rem;

    background-color: #ff7d42;

}

可以看到test的font-size继承了html的值24px,而此时宽高为24*10=240px

 

 

所以,以上总结如下

1.rem单位翻译为像素值的时候是由html元素的字体大小决定的。此字体大小会被浏览器中字体大小的设置影响,除非显式的在html为font-size重写一个单位。

 

2.em单位转换为像素值的时候,取决于使用它们的元素的font-size的大小,但是有因为有继承关系,所以比较复杂。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

px、em和rem是用于网页开发中定义长度单位的三种常见选项。它们在使用和计算上有一些区别,具体如下: 1. px(像素):px 是最基本的长度单位,表示屏幕上的一个像素点。它是一个绝对单位,意味着它的大小在不同的设备和屏幕分辨率下是固定的。px 的使用相对简单,适合在需要精确控制元素大小和位置的情况下使用,比如设计稿的还原和特定元素的布局。 2. em(相对于父元素字体大小的倍数):em 是一个相对单位,相对于父元素的字体大小进行计算。如果一个元素的字体大小为 16px,设置为 2em,则相当于 32px。em 适合在需要相对于父元素进行缩放的情况下使用,比如设置标题、段落等文本元素的字体大小。 3. rem(相对于根元素字体大小的倍数):rem 也是一个相对单位,相对于根元素(即 html 元素)的字体大小进行计算。与 em 不同的是,rem 的计算不会受到父元素字体大小的影响。因此,rem 更适合在需要整个页面元素的大小比例都随着根元素字体大小变化的情况下使用,比如响应式网页设计。 使用场景: - px:适用于需要精确控制元素大小和位置,尤其是在固定布局的情况下。 - em:适用于需要相对于父元素进行缩放的文本元素,如标题、段落等。 - rem:适用于需要整个页面元素的大小比例随根元素字体大小变化的响应式设计。 需要注意的是,不同的单位在不同的场景下有不同的优劣,并且可以混合使用。根据实际需求和网页布局的要求,选择合适的单位进行使用
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值