zoukankan      html  css  js  c++  java
  • rem与em的使用和区别

    区别是:浏览器根据谁来转化成px值。

    当使用rem单位,转换为像素大小取决于根元素的字体大小,即HTML元素的字体大小。 

    有一个比较普遍的误解,认为em单位是相对于父元素的字体大小。事实上,根据W3C标准,

    它们是相对于使用em单位的元素的字体的大小。

    父元素的字体大小可以影响 em 值,但这种情况的发生,纯粹是因为继承

    em单位的继承效果:

      使用em单位存在继承的时候,每个元素将自动继承其父元素的字体大小,继承的效果只能被明确的字体单位覆盖,比如px和vw

    只要父级元素上面一直有font-size为em单位,则会一直继承但假如自己设置了font-size的单位为px的时候,则会直接使用自己的px单位的值

     

    em继承的例子:

      如果我们的根元素字体大小为16px(通常是默认值),一个子元素div里面padding值为1.5em,该div将从父元素继承16px。因此padding会翻译成24px,即1.5 x 16 = 24px。

    看图说话。padding:24

      如果我们多加一个div2来包裹原来的div,然后设置其字体大小为1.25em呢?

      我们的div2继承根元素字体大小16px,并乘以他的1.25rem的字体大小。这将设置div2字体大小为 1.25 x 16 = 20px

      !!!现在我们最初的那个div,不再直接从根元素继承那个16px,而是继承包裹着它 的  div2 中继承字体大小,即20px。

      那么我们现在的div内的padding就变成了1.5 x 20 = 30px

     这个padding:30 就是这么来的

     

     

    那我们再来回顾一下,

      只有父级元素的font-size 一直以em作为单位,则子元素会一直继承。但假如!!!自己!!!设置的font-size的单位为px的时候,则会直接使用自己的px单位的值。

    我这里的div1仍然是自己的20px  

    前端怎么学的会~
  • 相关阅读:
    Git的一些概念(二)
    Git安装(一)
    版本控制工具
    jenkins+maven+svn实现springboot项目的自动化部署过程
    jenkins+maven+svn 持续集成环境搭建
    安装Tomcat
    安装JDK
    JavaEE 项目部署方式
    持续部署、持续集成、持续交付的概念
    Linux下Maven安装(十二)
  • 原文地址:https://www.cnblogs.com/hope192168/p/12030161.html
Copyright © 2011-2022 走看看