行业新闻
em是什么意思(女生聊天总发em)
2022-01-09 16:15  浏览:1

国内的设计师大都喜欢用px,而国外网站喜欢em和rem,三者之间有什么区别?

px:实际就是像素,用px设置字体大小比较精准和稳定。

px特点:

px是绝对单位。

  • 浏览器页面缩放时,px并不能跟随变化,所以无法调整使用px作为单位的字体大小。
  • 国外的大部分网站能够调整原因在于使用rem或em作为字体单位。
  • Firefox能够调整px和rem和em,但是大部分的国产浏览器使用IE内核。

em:就是以父级作为基准来缩放字体大小。

em特点:

  • Em是相对单位。
  • Em的值并不固定,受到父级字体大小的影响。

rem:以于根元素作为基准来缩放字体大小的。

rem特点:

  • rem是相对单位,受到根元素字体大小影响。
  • 修改根元素就可以成比例地调整所有。
  • 避免字体大小逐层复合的连锁反应。

Em和rem单位区别:

  1. 单位基于:em 基于使用他们的元素的字体大小 。rem基于 html 元素的字体大小。
  2. 继承 :em可能受任何继承的父元素字体大小影响。 rem可以从浏览器字体设置中继承字体大小。
  3. 使用情况: 使用em单位应根据组件的字体大小而不是根元素的字体大小。不使用em单位,并且需要根据浏览器的字体大小设置缩放的情况下使用rem。 而使用rem单位,除非你确定你需要 em 单位,包括对字体大小。

绘制页面的时候具体使用什么单位主要由项目来决定,如果不考虑低版本浏览器兼容问题,那就使用rem,如果兼容低版本IE就使用px,或者两者同时使用。

Px设置字体大小时存在问题:对浏览器进行缩放时,页面布局会乱,这时就需要使用rem或em来定义字体大小。

制作手机自适应网页,由于手机宽度大小众多,制作一个响应式网页,手机宽度越大字体越大,就像一张图片一样进行缩放。给大家分享一个rem的插件:

(function(doc, win) {
 var docEl = doc.documentElement,
 resizeEvt = 'orientationchange' in window ? 'orientationchange': 'resize',
 recalc = function() {
  var clientWidth = docEl.clientWidth;
  if (!clientWidth) return;
  if (clientWidth >= 560) {
   clientWidth = 560;
  }
 docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
 };
 if (!doc.addEventListener) return;
 recalc();
 win.addEventListener(resizeEvt, recalc, false);
 doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);