关于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
可以引入 CSS 预处理工具(Sass、LESS 、Stylus等)自动计算 rem 值,这里就不一一举例了
没有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的用处
开发响应式网页设计、设置网页字体大小自适应
关于px em rem的一点小总结的更多相关文章
- css中px,em,rem,rpx的区别
今天看到一个面试题为 px,em的区别,为了更好地让读者区分css的长度单位,我总结下css中常用的长度单位: px,em,rem,rpx 像素px是我们在定义CSS中经常用到的尺寸大小单位,而em在 ...
- css大小单位px em rem的转换和详解
css大小单位px em rem的转换和详解 PX特点1. IE无法调整那些使用px作为单位的字体大小:2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位:3. Firefox能 ...
- px,em,rem的区别
PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,但是96%以上 ...
- px em rem 区别
PX:PX实际上就是像素,用PX设置字体大小时,比较稳定和精确.但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,如果改变了浏览器的缩放,这时会使用我们的Web页面布局被打破.这样 ...
- px,em,rem字体单位
1.px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的.(引自CSS2.0手册) 2.em是相对长度单位.相对于当前对象内文本的字体尺寸,em存在值继承问题. 浏览器的默认字 ...
- 彻底弄懂px em rem
国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的 ...
- px em rem区别
国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的 ...
- css里px em rem特点(转)
1.px特点: 1.IE无法调整px作为单位的字体大小: 2.Firefox能够调整px.em和rem. px是像素,是相对长度单位,是相对于显示器屏幕分辨率而言的. 2.em特点: 1.em的值并不 ...
- css单位px,em,rem区别
在css中单位长度用的最多的是px.em.rem,这三个的区别是: px是固定的像素,一旦设置了就无法因为适应页面大小而改变. em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定 ...
随机推荐
- 转载:逻辑回归的python实现
转载自:http://blog.csdn.net/zouxy09/article/details/20319673 一.逻辑回归(LogisticRegression) Logistic regres ...
- python3_ftp文件传输
Python中的ftplib模块 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件 FTP的工作流程及基本操作可参考协议RFC95 ...
- 巨坑:jqgrid竟然取不到编辑模式下input的值
今天遇到最奇葩的问题,竟然取不到input的值,感觉世界观都颠覆了.后来一搜资料,又是jqgrid框架搞的鬼,真搞不明白,开发框架就好好开发框架,留这么多坑有意思吗? jqgrid编辑模式下不要调用g ...
- 一键安装lnmp-php(5)
php(){cd $pathtar zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0.tar.gz ./configuremakemake installcd $pathtar ...
- 20145310 《Java程序设计》第4周学习总结
20145310 <Java程序设计>第4周学习总结 教材学习内容总结 本周主要进行第五章和第六章的学习. 第六章 继承与多态 子类(Inherit)继承父类,避免重复的行为定义,不过并非 ...
- java第一周学习总结
学号20145336 <Java程序设计>第1周学习总结 教材学习内容总结 java是sun推出的一门高级编程语言,现已经成为web开发的首选语言.他分为三种技术架构,j2ee针对web应 ...
- php7不支持curl
百度出来的东西没有一个有用的 终极解决方案: 1.将extension=curl前的分号去掉: 2.将php目录下的libssh2.dll放到apache安装目录的bin目录下 3.重启apache ...
- zsh + oh-my-zsh 默认shell
项目地址 zsh -----> http://www.zsh.orgoh-my-zsh ----> http://ohmyz.sh The last shell you’ll ever n ...
- Task作为返回值以及Task<TResult>作为返回值
async await return Task https://stackoverflow.com/questions/25191512/async-await-return-task Can som ...
- 回文树 Palindromic Tree
回文树 Palindromic Tree 嗯..回文树是个什么东西呢. 回文树(或者说是回文自动机)每个节点代表一个本质不同的回文串. 首先它类似字典树,每个节点有SIGMA个儿子,表示对应的字母. ...