zoukankan      html  css  js  c++  java
  • css单位的px,em,rem的区别总结笔记

    在网上看到px em rem三个单位的区别总结,学习学习,方便以后查看:

    1 共同点:三者都是相对单位。

    2 具体分析:

    1 px为单位
    在web页面初期制作中,因为px的稳定和精确,用px设置文本的多。但是有一个弊端:当用户在浏览器中浏览我们制作的web页面时 他改变了浏览器的字体大小,这时会使我们的web页面布局被打破。这样对于那些关于关心自己网站可用性的用户来说,就是一个大问题了。因此,这时就提出了使用‘em’来定义web中的页面的字体。
     
    2 em为单位
    这个技术需要一个参考点,一般都一<body>的font-size为基准。比如我们使用 1em等于10px来改变默认值‘1em=16px’,这样一来,我们设置字体大小相当于14px时 只需要将其值设置为1.4em。
    em是一个相对值,而且是一个相对于父元素的值,
    1 ÷ 父元素的font-size × 需要转换的像素值 = em值
     
    这个也存在一个问题:em是相对于其父元素来设置字体大小的,这样就会存在一个问题,进行任何元素设置,都有可能需要知道其父集元素的大小。在多次使用后,就会带来无法预知的错误风险。而rem是相对于根元素的<html>这样就意味着,我们只需要在根元素确定一个参考值,在根元素中设置多大的字体,这完全可以根绝自己的需要
     
    3 Rem为单位
    rem是css3的单位,rem在w3c是font size of the root element。
    而rem是相对于页面根元素<html>,这样就意味着,我们只需要在根元素确定一个参考值即可,其它元素设置rem大小都是以html的字体大小设置为参考值进行一个字体大小缩放。
     
    举例说明:
    html{font-size:62.5%;/*10 ÷ 16 × 100% = 62.5%*/}body{font-size:1.4rem;/*1.4 × 10px = 14px */}h1{ font-size:2.4rem;/*2.4 × 10px = 24px*/}
    在根元素<html>中定义了一个基本字体大小为62.5%(也就是10px。设置这个值主要方便计算,如果没有设置将是以16px为基准,)从上面的计算结果看 我们使用了‘rem’就像是使用了‘px’一样的方便,而且同时解决了‘px’和‘em’两者不同之处。
    我在根元素<html>中定义了一个基本字体大小为62.5%(也就是10px。设置这个值主要方便计算:1.2rem即 12px ,1.6rem即16px  。 如果没有设置,将是以浏览器默认的“16px”为基准 )。
    
    
    浏览器的兼容性:
    rem是css3新引进来的一个度量单位,支持的浏览器有:Mozilla Firefox 3.6+Apple Safari 5+Google ChromeIE9+Opera11+
    ie6-8不支持。为了兼容ie6-8,可以考虑使用px和rem一起使用。用px老实现ie6-8的效果。然后使用rem来实现现代浏览器的效果。
  • 相关阅读:
    单独的数字
    设计模式之原型模式
    设计模式之策略模式
    设计模式之单例模式
    泛型入门
    iOS中关于.pch的新建与配置问题
    iOS开发中遇到的头文件找不到的问题解决办法
    iOS中NSJSONSerialization的使用 小记
    6.线程、进程、协程基础篇
    5.装饰器进阶篇
  • 原文地址:https://www.cnblogs.com/hopexi/p/5235260.html
Copyright © 2011-2022 走看看