rem和em的区别。以及如何使用。

1 篇文章 0 订阅

两者区别

              em会继承父级元素的字体大小。

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

              使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素

 

rem单位的使用       

(直接引入下面的js代码就可实现自适应字体)

   如果我们需要的是实现字体自适应,不需要手动刷新,就需要js去封装  rem 单位。

       var fun=function(doc,win){
          var docEl=doc.documentElement,
              resizeEvt='orientationchange'    in window ? 'orientationchange' : 'resize',
              recalc=function(){
                  var clientWidth =docEl.clientWidth;  //clientWidth窗口大小
                  if(!clientWidth) return;
                  if((12 * (clientWidth / 640)) <= 20) { 

                           //此处  640 为屏幕宽度,

                          //  12 * (clientWidth / 640) ;  表示 12px =1rem
                             docEl.style.fontSize = 12 * (clientWidth / 640) + 'px';
                      }else{
                            docEl.style.fontSize = 10 +'px';
                      }
              } 
            if(!doc.addEventListener) return;
            win.addEventListener(resizeEvt,recalc,false);
            doc.addEventListener('DOMContentLoaded',recalc,false);  
        }
        fun(document,window);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陨石猎人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值