px em rem的区别

简单区分

px

    一个盒子是100px * 100px  px指的是逻辑像素,也叫css像素
    在适配时,使用px作为单位并不合适。

px特点

  • IE无法调整那些使用px作为单位的字体大小;
  • 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;
  • Firefox能够调整px和em,rem,但是有大部分的国产浏览器使用IE内核

em

    指的是一个汉字的宽度,2em表示两个汉字的宽度
    1em = 1个font-size的大小
    如:font-size:20px; 1em = 20px   10em = 200px

    em不足:它是相对于父元素的font-size来说的。

    适配使用em也不合适,因为它一直是相对于父元素的font-size来说的

    em是一个相对长度的单位,是相对于当前对象内文本的字体尺寸。如过我们未设置当前文本的字体尺寸,那么em就会相对于浏览器的默认字体尺寸

    在浏览器中默认字体尺寸为16px,换句话说1em=16px,一般我们在写自适应布局时经常会用到em为单位。通过在CSS中的body选择器中设置font-size值来简化代码,使得页面中所有的em都相对于body值。

    em 是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)

    任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。 

em特点: 

  • em的值并不是固定的;
  • em会继承父级元素的字体大小。

    所以我们在写CSS的时候,需要注意两点:

body选择器中声明Font-size=62.5%;
将你的原来的px数值除以10,然后换上em作为单位;
重新计算那些被放大的字体的em数值。避免字体大小的重复声明。
也就是避免1.2 * 1.2= 1.44 的现象。比如:
你在 #content 中声明了字体大小为1.2em,那么在声明 p 标签的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承 #content 的字体高而变为了1em=12px。

rem

    r表示root   root是根的意思   指html标签  
    1rem ==> html标签中的font-size的大小  
    1em  ==> 父标签中的font-size的大小

    rem是CSS3中新增的一个相对单位,它与em的区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。它的使用非常简单,通过改变根元素的大小就可以改变它的值 

rem特点

  • rem 相对单位,相对于根元素 <html> ;
  • 相对大小和绝对大小的优点于一身;
  • 修改根元素就成比例地调整所有字体大小;
  • 避免字体大小逐层复合的连锁反应.

选择使用什么字体单位主要由你的项目来决定,如果你的用户群都使用最新版的浏览器,那推荐使用rem,如果要考虑兼容性,那就使用px,或者两者同时使用。
在这里为大家提供一个px,em,rem单位转换工具,地址:http://pxtoem.com/

---------------------------------------
适配

    在大屏上显示大盒子,在小屏上显示小盒子。

什么是适配?
    如果是大屏,盒子或字体大上设置的大一点
    如果是小屏,盒子或字体大小设置的小一点

10个字,在不同的手机,都是撑满一行。
---------------------------------------
使用媒体查询,实现适配:
    媒体查询 类似于 编程语言中的if else 

 

参考:

---------------------------------------
适配:
    在大屏上显示大盒子,在小屏上显示小盒子。

什么是适配?
    如果是大屏,盒子或字体大上设置的大一点
    如果是小屏,盒子或字体大小设置的小一点

10个字,在不同的手机,都是撑满一行。
---------------------------------------
使用媒体查询,实现适配:
    媒体查询 类似于 编程语言中的if else 

 

参考:https://blog.csdn.net/cbkting/article/details/87579219?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162212720216780255280988%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162212720216780255280988&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-87579219.first_rank_v2_pc_rank_v29&utm_term=px+em+rem%E7%9A%84%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187

https://blog.csdn.net/wkj001/article/details/86538886?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162212720216780255280988%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162212720216780255280988&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-86538886.first_rank_v2_pc_rank_v29&utm_term=px+em+rem%E7%9A%84%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187

上一篇:HTML相关


下一篇:小程序中指定页面如何自定义导航栏?