rem、em、px的区别

时间:2022-09-21 21:29:47

px

像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。

特点:

1. IE无法调整那些使用px作为单位的字体大小;

2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;

3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。

pt

是一个物理长度单位,指的是72分之一英寸。9pt=12px,可以依次换算。

em

相对长度单位,相对于当前对象内文本的字体尺寸。任意浏览器的默认字体高都是16px,所以未经调整的浏览器都符合: 1em=16px。

特点:

1. em的值并不是固定的;

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

<div style="font-size:20px;">
<p style="font-size:1em;">这里1em=20px</p>
<p style="font-size:2em;">这里2em=40px</p>
</div>

上面的例子就说明了em的值并非固定的,他是根据父元素的字体大小来决定的。如果父元素设置了font-size:20px,那么1em=20px,2em=40px;如果父元素设置了font-size:30px,那么1em=30px,2em=60px。依次类推。

rem

是CSS3新增的一个相对单位,可以理解为"root em",相对于根节点html的字体大小来计算的,chrome/firefox/IE9+支持。任意浏览器的默认字体高都是16px,所以未经调整的浏览器都符合: 1rem=16px。

<html style="font-size:100px;">
<head>
<title></title>
</head>
<body>
<p style="font-size:1rem;">这里1rem=100px</p>
<div style="font-size:50px;">
<p style="font-size:2rem;">这里2rem=200px</p>
</div>
</body>
</html>

上面的例子说明了,rem的值只受到根节点html的字体大小影响,并不受父元素字体大小的影响。如果根节点html设置了font-size:100px,那么1rem=100px,2rem=200px;如果根节点html设置了font-size:200px,那么1rem=200px,2rem=400px。依次类推。

rem和em在为元素设置字体大小时,都是相对大小。区别在于:使用rem时,相对的只是HTML根元素。

rem这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

注意:

谷歌浏览器chrome强制最小字体为12px,因此即使设置了小于12px的值,也会显示成12px。因此,当你给html设置font-size:10px时,1rem并不是等于10px,而是等于12px

具体使用哪种字体单位,还是要根据项目实际情况来定的。rem更加适合不用考虑低版本浏览器兼容问题的项目来使用。

rem、em、px的区别的更多相关文章

  1. rem &comma;em &comma;px的区别

    参考网址:http://www.cnblogs.com/leejersey/p/3662612.html

  2. mobile css &amp&semi; rem &amp&semi; em &amp&semi; px

    mobile css & rem & em & px 1 rem === 16px 任意浏览器的默认字体高都是 16px, 所有未经调整的浏览器都符合: 1em=16px, 那 ...

  3. CSS中em、rem和px的区别

    任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: 1em=16px,1rem=16px. EM特点  1. em的值并不是固定的: 2. em会继承父级元素的字体大小. rem特点 r ...

  4. 字体的设置 REM EM PX

    px 1 一般设置页面的字体使用px 2 优点:字体设置比较稳定和精确 3 缺点:他会修改用户浏览器中的字体大小 EM 相对于父元素的字体大小,字体大小不确定,容易混乱,“em”是相对于其父元素来设置 ...

  5. px&comma;rem&comma;em的区别

    PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,但是96%以上 ...

  6. CSS中px,em,rem,pt的区别及四者换算&quest;

    本文章重要说明px,em,rem,pt的区别以及四者之间的换算. em单位有如下特点 1. em的值并不是固定的; 2. em会继承父级元素的字体大小. 我们在写CSS的时候如果要用em为单位,需要注 ...

  7. 简谈CSS 中的 em,rem,px,&percnt;

    在实际工作中,可能我们用的比较多的是‘%’ 和 px,但是我们也经常看到很多网站和css框架里用的是em 或rem.而‘%’ 和px已经都是比较常见或者说是常用.但是em 和rem 却鲜有使用,一直以 ...

  8. 自适应布局,响应式布局以及rem&comma;em区别

    一.自适应和响应式 先说共同点: 两者都是因为越来越多的 移动设备( mobile, tablet device )加入到互联网中来而出现的为移动设备提供更好的体验的技术.用技术来使网页适应从小到大( ...

  9. em与px的区别 &lbrack; 转 &rsqb;

    其实,还是不大理解,为什么1em=16px:而且,还一般要在body里面,就写清楚Fone-size=62.5%,然后再让1em=10px进行使用:那么,为什么不直接在当时定义em的时候,就直接让它等 ...

  10. EM vs REM vs PX,为什么你不应该”只用px&OpenCurlyDoubleQuote;”

    Actually this artical is from other person's opnion ,i just put it into chinese,and this means a ver ...

随机推荐

  1. 对Java中正则表达式的一些理解

    2016-12-11 22:26:18 正则表达式的意义:正则表达式是一个字符串处理工具,可以对字符串进行查找/提取/分割/替换等等,也可以对用户输入的内容进行匹配. 常用的预定义字符就不解释了,网上 ...

  2. 关于js实现分页效果的简单代码

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  3. PAT A 1115&period; Counting Nodes in a BST &lpar;30&rpar;【二叉排序树】

    题目:二叉排序树,统计最后两层节点个数 思路:数组格式存储,insert建树,dfs遍历 #include<cstdio> #include<iostream> #includ ...

  4. PYTHON第三天

    PYTHON之路 七.基本的if判断 最简单的流程处理: if ...else If简单练习: #!/usr/bin/env  python # -*-coding:utf-8 -*- #if 基本表 ...

  5. CSS样式补充代码

    CSS符号属性: list-style-type:none; /*不编号*/ list-style-type:decimal; /*阿拉伯数字*/ list-style-type:lower-roma ...

  6. 使用ajax与服务器通信的步骤

    使用ajax与服务器通信的步骤: 1. 创建一个XMLHttpRequest对象 2. 创建url,data,通过xmlHttpRequest.send() 3. 服务器端接收ajxa的请求,做相应处 ...

  7. HDU 1465 不容易系列之排错

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description 大家常常感 ...

  8. Facade模式——设计模式学习(转载)

    Facade模式 一 意图 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 二 动机 将一个系统划分成为若干个子系统有利于降低系统的复 ...

  9. serversql数据库的查询操作

    sql数据库 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !importan ...

  10. mysql安装完启动问题解决

    一.初始化报错问题: 1./usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/loca ...