国内设计师大多喜欢用px,国外网站喜欢em和rem。它们有什么区别?
Px:其实就是像素。用px设置字体大小更准确更稳定。
Px特性:
Px是一个绝对单位。
浏览器缩放时,px无法跟随变化,所以不能以px为单位调整字体大小。大多数国外网站可以调整,因为他们使用rem或em作为字体单位。火狐可以调整px、rem和em,但国内大部分浏览器使用IE内核。Em:就是根据父级缩放字体大小。
电磁特性:
Em是一个相对单位。Em的值不是固定的,受父字体大小的影响。Rem:根据根元素缩放字体大小。
Rem功能:
Rem是一个相对单位,受根元素的字体大小影响。修改根元素以按比例调整所有。避免复合字号层层连锁反应。Em和rem单位差异:
单位:em基于使用它们的元素的字体大小。Rem基于html元素的字体大小。继承:em可能会受到任何继承的父元素的字体大小的影响。Rem可以从浏览器字体设置中继承字体大小。用法:em单位应该基于组件的字体大小,而不是根元素的字体大小。不使用em单位时使用rem,需要根据浏览器的字体大小设置缩放比例。使用rem单位,除非你确定你需要em单位,包括字体大小。绘图时使用什么单位主要由项目决定。如果不考虑低版本浏览器的兼容性,就用rem,如果兼容低版本IE,就用px,或者两者都用。
设置Px字体大小有一个问题:缩放浏览器时,页面布局会比较乱,需要用rem或者em来定义字体大小。
制作手机适配网页。因为手机宽度大,做一个响应式网页。手机宽度越大,字体越大,像图片一样缩放。共享rem插件:
(功能(文档,win){ 0
var docEl=doc.documentElement,
窗口中的resizeEvt='orientationchange '?orientationchange': '调整大小',
重新计算=函数(){ 0
var client width=Docel . client width;
if(!clientWidth)返回;
if(client width=560){ 0
clientWidth=560
}
docel . style . font size=100 *(client width/750)' px ';
};
if(!doc.addEventListener)返回;
重新计算();
win.addEventListener(resizeEvt,重新计算,false);
doc . addeventlistener(' DomContentLoaded ',重新计算,false);
})(文档、窗口);