关于px em rem的一点小总结

2015-11-28

06:06:40

概念

都是CSS单位。

px:像素 Pixel。像素 (计算机屏幕上的一个点)

em:1em 等于当前的字体尺寸。 2em 等于当前字体尺寸的两倍。 例如,如果某元素以 12pt 显示,那么 2em 是24pt。 如未人为设置字体尺寸,那么1em=16px这个所有浏览器默认的字体高。

pt:磅 (1 pt 等于 1/72 英寸);

pc:12 点活字 (1 pc 等于 12 点) rem:

特点

px:

使用px作为单位的字体的,部分浏览器无法调整;而em rem则可以比较好的适应

Firefox能够调整px和em,rem

em:

由于默认1em =16px,所以为了方便计算,一般在body里声明:font-size:62.5%,这样一来,1em=10px,2em=20px,只要将原来的px数值除以10,就换算成em单位了。

em的值是相对于父级元素的字体大小,如果父级元素的字体大小改变了,那么em的值也会改变,所以麻烦在于:em要经常人为换算。

例如:

.d1{ font-size: 2.2em;}
.d2{ font-size: 2.2em;}

<div class="d1">
    dddd地道道的
    <div class="d2">dddd反复复</div>
</div>

那么实际显示出来,d1的字体为35.2px,d2的字体则为35.2*2.2=77.44px,需要将d2的字体设置为1em,才与其父元素相同是35.2px

ps:谷歌浏览器最小字体12px,所以不管是用px,亦或是em设置成10px,都会显示成12px的大小

rem

相对单位,root element, 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持。

如何用rem

  1. 可以引入 CSS 预处理工具(Sass、LESS 、Stylus等)自动计算 rem 值,这里就不一一举例了
  2. 没有SASS的情况下,改html 的默认字体大小,写入font-size:62.5%,即10px.

但为了兼容不支持rem的浏览器,需要在写rem的单位前面写上px单位, 这样不支持rem的浏览器就可以优雅降级。 例如: html{ font-size:62.5%; /* 10÷16=62.5% / } body{ font-size:12px; font-size:1.2rem ; / 12÷10=1.2 */ } p{ font-size:14px; font-size:1.4rem; }

PS:关于谷歌最小12px的问题

我本人测试,关于em,如果在父元素设置了font-size:62.5%,父元素的字体最终显示12px.但其子元素如果设置2em,最终显示为20px,即依旧以10px作为基准的。

关于rem,如果在html设置font-size:62.5%;body中的其他元素设置字体1rem,最终显示为12px;设置2rem,显示20px;设置2.2rem,显示22px;

其他浏览器未测试。

动态计算获取html的font-size

页面基准320px(20px),html font-size值的计算:

var ele=document.getElementsByTagName("html")[0],
 size=document.body.clientWidth/320*20;
ele.style.fontSize=size+"px";

其他单位

vw:viewpoint width,视窗宽度,1vw等于视窗宽度的1%。 vh:viewpoint height,视窗高度,1vh等于视窗高度的1%。 vmin:vw和vh中较小的那个。 vmax:vw和vh中较大的那个。

em rem的用处

开发响应式网页设计、设置网页字体大小自适应

时间: 2024-10-11 16:53:38

关于px em rem的一点小总结的相关文章

px,em,rem,vh,vw,vmin,vmax的区别

css手册中关于font-size是这么介绍的: font-size 值可以是绝对或相对值. 绝对值: 将文本设置为指定的大小 不允许用户在所有浏览器中改变文本大小(不利于可用性) 绝对大小在确定了输出的物理尺寸时很有用 相对大小: 相对于周围的元素来设置大小 允许用户在浏览器改变文本大小 注意:如果您没有规定字体大小,普通文本(比如段落)的默认大小是 16 像素 (16px=1em). 1.px:为像素单位.它是显示屏上显示的每一个小点,为显示的最小单位.它是一个绝对尺寸单位: 2.em:相对

彻底弄懂px em rem

国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核). px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS2.0手册) em是相对长度单位.相对于当前对象内文本的字体尺寸.

px,em,rem字体单位

1.px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS2.0手册) 2.em是相对长度单位.相对于当前对象内文本的字体尺寸,em存在值继承问题. 浏览器的默认字体高都是16px,默认识别最小字体12px.所有未经调整的浏览器都符合: 1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px,

px em rem 的区别

px:像素,用px设置字体大小,比较精确.但是不能适应浏览器的缩放. em:是一个相对值,根据基准来缩放字体大小.默认1em等于16px,可在body中设置:font-size:62.5%;此时,1em等于10px.em的大小是根据父元素来计算的. rem:相对值,根据基准来缩放字体大小,rem大小根据 根元素html来计算. 注:ie6-8不兼容em,rem,此种情况,可以px和rem一起使用.eg:p{font-size:14px;font-size:0.875rem;}

css里px em rem特点(转)

1.px特点: 1.IE无法调整px作为单位的字体大小: 2.Firefox能够调整px.em和rem. px是像素,是相对长度单位,是相对于显示器屏幕分辨率而言的. 2.em特点: 1.em的值并不是固定的: 2.em会继承父级元素的字体大小. em也是相对长度单位,相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸. 任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合:1em=16px.那么12px=0.75em,10px=0.6

px em rem在WEB前端开发中的区别

我们都知道基于像素的字体大小所用的单位是px,但是随着响应式设计的不断火热,基于相对字体大小的单位em变开始流行起来.当然,rem也在Web前端开发人员讨论如何更好设置字体大小的讨论话题之列.是不是需要用em或者是rem来替换掉px在前端开发中进行使用呢? 为什么我们需要使用相对字体大小呢? 或许我们最能直接想到的一点就是它关于CSS3的一些东西.很好理解的是它是一种字号计算方式,尤其是当你在为多种分辨率进行字号计算的时候.想想要在手机上实现字体变大或者变小的时候,你不得不要反复重新计算对象的字

css中px em rem vw vh vmax vmin等单位的区别--转载

px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对单位,可理解为"root em", 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持. (另外需注意chrome强制最小字体为12号,即使设置成 10px 最终都会显示成 12px,当把html的font-size设置成10px,子节点rem

px,em,rem,vw单位在网页和移动端的应用

px: 是网页设计中最常用的单位,然而1px到底是多大长,恐怕没有人能回答上来 它用来表示屏幕设备物理上能显示的最小的一个点,这个点不是固定宽度的,不同设备上点的长度.比例有可能会不同. 假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个div宽度为100px,你显示器上看这个div是10厘米,我显示器上看是20厘米.另外一个px点的长度不一定是1:1的正方形,有的设备上长度比是不一样的. 更多px信息点此博客. px的兼容性:需要注意的是谷歌浏览器最小可以

css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况

px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对单位,可理解为"root em", 相对根节点html的字体大小来计算,CSS3新加属性,chrome/firefox/IE9+支持. (另外需注意chrome强制最小字体为12号,即使设置成 10px 最终都会显示成 12px,当把html的font-size设置成10px,子节点rem