https://blog.csdn.net/qq_40001322/article/details/80867289

1.em

在做手机端的时候经常会用到的做字体的尺寸单位

说白了 em就相当于“倍”,比如设置当前的div的字体大小为1.5em,则当前的div的字体大小为:当前div继承的字体大小*1.5

但是当div进行嵌套的时候,em始终是按照当前div继承的字体大小来缩放,参照后面的例子。

2.rem

这里的r就是root的意思,意思是相对于根节点来进行缩放,当有嵌套关系的时候,嵌套关系的元素的字体大小始终按照根节点的字体大小进行缩放。

参照后面给的demo

3.vh

vh就是当前屏幕可见高度的1%,也就是说

height:100vh == height:100%;

但是有个好处是当元素没有内容时候,设置height:100%该元素不会被撑开,

但是设置height:100vh,该元素会被撑开屏幕高度一致。

4.vw

vw就是当前屏幕宽度的1%

补充一句,当设置width:100%,被设置元素的宽度是按照父元素的宽度来设置,

但是100vw是相对于屏幕可见宽度来设置的,所以会出现50vw 比50%大的情况

  1. <!DOCTYPE html>
  2.  
    <html lang="Zh-cn">
  3.  
    <head>
  4.  
    <meta charset="UTF-8">
  5.  
    <title>恭贺新春</title>
  6.  
    </head>
  7.  
    <style type="text/css" media="screen">
  8.  
    html{
  9.  
    font-size: 14px;
  10.  
    }
  11.  
    .em,
  12.  
    .em > .em-son,
  13.  
    .em > .em-son > .em-grandson {
  14.  
    font-size: 1.2em;
  15.  
    }
  16.  
    .rem,
  17.  
    .rem > .rem-son,
  18.  
    .rem > .rem-son > .rem-grandson {
  19.  
    font-size: 1.2rem;
  20.  
    }
  21.  
    .rem-box {
  22.  
    background: #d60b3b;
  23.  
    width:10rem;
  24.  
    height: 10rem;
  25.  
    color: #fff;
  26.  
    text-align: center;
  27.  
    line-height:5rem;
  28.  
    }
  29.  
    .vhvw-box {
  30.  
    background: #d60b3b;
  31.  
    width:50vw;
  32.  
    height: 50vh;
  33.  
    color: #fff;
  34.  
    text-align: center;
  35.  
    line-height:25vh;
  36.  
    }
  37.  
    </style>
  38.  
    <body>
  39.  
    <h1>em 继承父元素的字体大小,来变大或变小,多层嵌套字体变化</h1>
  40.  
    <div class="em">
  41.  
    字体大小 1.2 * 14(父元素body) = 16px
  42.  
    <div class="em-son">
  43.  
    字体大小 1.2 * 16(父元素em) = 20px
  44.  
    <div class="em-grandson">
  45.  
    字体大小 1.2 * 20(父元素em-son) = 24px
  46.  
    </div>
  47.  
    </div>
  48.  
    </div>
  49.  
    <br>
  50.  
    <h1>rem 继承根节点元素的字体大小,来变大或变小,多层嵌套字体不变化</h1>
  51.  
    <div class="rem">
  52.  
    字体大小 1.2 * 14(根节点html) = 16px
  53.  
    <div class="rem-son">
  54.  
    字体大小 1.2 * 14(根节点html) = 16px
  55.  
    <div class="rem-grandson">
  56.  
    字体大小 1.2 * 14(根节点html) = 16px
  57.  
    </div>
  58.  
    </div>
  59.  
    </div>
  60.  
    <br>
  61.  
    <h1>rem 也可作为固定长度单位设置宽高等</h1>
  62.  
    <div class="rem-box">
  63.  
    宽:14 * 10 = 140px<br>
  64.  
    高:14 * 10 = 140px
  65.  
    </div>
  66.  
    <br>
  67.  
    <h1>vh,vw 屏幕可见区域的高度,宽度的1%</h1>
  68.  
    <div class="vhvw-box">
  69.  
    宽:屏幕宽度的50%<br>
  70.  
    高:屏幕高度的50%
  71.  
    </div>
  72.  
    </body>
  73.  
    </html>
    1. <!DOCTYPE html>
    2.  
      <html lang="Zh-cn">
    3.  
      <head>
    4.  
      <meta charset="UTF-8">
    5.  
      <title>恭贺新春</title>
    6.  
      </head>
    7.  
      <style type="text/css" media="screen">
    8.  
      html{
    9.  
      font-size: 14px;
    10.  
      }
    11.  
      .em,
    12.  
      .em > .em-son,
    13.  
      .em > .em-son > .em-grandson {
    14.  
      font-size: 1.2em;
    15.  
      }
    16.  
      .rem,
    17.  
      .rem > .rem-son,
    18.  
      .rem > .rem-son > .rem-grandson {
    19.  
      font-size: 1.2rem;
    20.  
      }
    21.  
      .rem-box {
    22.  
      background: #d60b3b;
    23.  
      width:10rem;
    24.  
      height: 10rem;
    25.  
      color: #fff;
    26.  
      text-align: center;
    27.  
      line-height:5rem;
    28.  
      }
    29.  
      .vhvw-box {
    30.  
      background: #d60b3b;
    31.  
      width:50vw;
    32.  
      height: 50vh;
    33.  
      color: #fff;
    34.  
      text-align: center;
    35.  
      line-height:25vh;
    36.  
      }
    37.  
      </style>
    38.  
      <body>
    39.  
      <h1>em 继承父元素的字体大小,来变大或变小,多层嵌套字体变化</h1>
    40.  
      <div class="em">
    41.  
      字体大小 1.2 * 14(父元素body) = 16px
    42.  
      <div class="em-son">
    43.  
      字体大小 1.2 * 16(父元素em) = 20px
    44.  
      <div class="em-grandson">
    45.  
      字体大小 1.2 * 20(父元素em-son) = 24px
    46.  
      </div>
    47.  
      </div>
    48.  
      </div>
    49.  
      <br>
    50.  
      <h1>rem 继承根节点元素的字体大小,来变大或变小,多层嵌套字体不变化</h1>
    51.  
      <div class="rem">
    52.  
      字体大小 1.2 * 14(根节点html) = 16px
    53.  
      <div class="rem-son">
    54.  
      字体大小 1.2 * 14(根节点html) = 16px
    55.  
      <div class="rem-grandson">
    56.  
      字体大小 1.2 * 14(根节点html) = 16px
    57.  
      </div>
    58.  
      </div>
    59.  
      </div>
    60.  
      <br>
    61.  
      <h1>rem 也可作为固定长度单位设置宽高等</h1>
    62.  
      <div class="rem-box">
    63.  
      宽:14 * 10 = 140px<br>
    64.  
      高:14 * 10 = 140px
    65.  
      </div>
    66.  
      <br>
    67.  
      <h1>vh,vw 屏幕可见区域的高度,宽度的1%</h1>
    68.  
      <div class="vhvw-box">
    69.  
      宽:屏幕宽度的50%<br>
    70.  
      高:屏幕高度的50%
    71.  
      </div>
    72.  
      </body>
    73.  
      </html>

一些css单位的更多相关文章

  1. 你可能没注意的CSS单位

    扶今追昔 CSS中的单位我们经常用到px.pt.em.百分比,px和pt不用多说 em em是相对单位,参考物是父元素的font-size,具有继承的特点 如果字体大小是16px(浏览器的默认值),那 ...

  2. css单位盘点

    css单位有:px,em,rem,vh,vw,vmin,vmax,ex,ch 等等 1.px单位最常见,也最直接,这里不做介绍. 2.em:em的值并不是固定,它继承父级元素的字体大小,所以层数越深字 ...

  3. 你可能不知道的7个CSS单位

    如果你是一名前端开发工程师,一般px和em使用频率比较高.但是今天本文的重点是介绍一些我们使用很少.甚至么有听说的单位. 一.重温em <style type="text/css&qu ...

  4. 学习网页制作中如何在正确选取和使用 CSS 单位

    在 CSS 测量系统中,有好几种单位,如像素.百分比.英寸.厘米等等,Web 开发人员很难了解哪些单位在何处使用,如何使用.很多人习惯了总是使用同一种单位,但这一决定可能会严重限制你的设计的执行. 这 ...

  5. 七个你可能不了解的CSS单位

    我们很容易无法摆脱的使用我们所熟悉的CSS技术,当新的问题出现,这样会使我们处于不利的地位. 随着Web继续的发展,对新的解决方案的需求也会继续增大.因此,作为网页设计师和前端开发人员,我们别无选择, ...

  6. css单位分析、颜色设置与调色板

    CSS单位分析 px:单位代表像素,1px代表一个像素点. %:设置子元素为父容器的占比. em:代表该元素中一个字体所占字符,常用在文字首行缩进.其具有继承性. rem:始终代表html中的字符所在 ...

  7. CSS:CSS 单位

    ylbtech-CSS:CSS 单位 1.返回顶部 1. 尺寸 单位 描述 % 百分比 in 英寸 cm 厘米 mm 毫米 em 1em 等于当前的字体尺寸. 2em 等于当前字体尺寸的两倍. 例如, ...

  8. rem — 一个低调的css单位

    原文  http://www.zhaoan.org/1825.html rem这是个低调的 css 单位,近一两年开始崭露头角,有许多同学对rem的评价不一,有的在尝试使用,有的在使用过程中遇到坑就弃 ...

  9. css单位中px和em,rem的区别

    css单位中分为相对长度单位.绝对长度单位. 今天我们主要讲解rem.em.px这些常用单位的区别和用法. px(绝对长度单位) 相信对于前端来说px这个单位是大家并不陌生,px这个单位,兼容性可以说 ...

  10. CSS单位计算总结

    CSS单位总结 公共部分css body { background-color: #000; color: skyblue; margin: 0; padding: 0; } body>div& ...

随机推荐

  1. Python 多线程Ⅱ

    线程模块 Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁. threading 模块提供的其他方法: threadi ...

  2. reactjs 项目使用 iconfont 小图标以及使用带颜色 inconfont 小图标

    在 reactjs 项目中是所有小图标目前主要分为两类使用方式,第一类通过 CSS 引入的方式使用,第二类使用 JS 的方式引入使用. 注册-登录-建立项目-选中图标添加到购物车-添加至项目-下载到本 ...

  3. Java线程之synchronized

    翻译:https://www.journaldev.com/1061/thread-safety-in-java 我们知道线程安全在Java中是一个非常重要的主题,当多个线程操作共享数据时,如果没有任 ...

  4. Android_(控件)使用ListView显示Android系统中SD卡的文件列表

    使用ListView显示Android SD卡中的文件列表 父类布局activity_main.xml,子类布局line.xml(一个文件的单独存放) 运行截图: 程序结构: <?xml ver ...

  5. Keras学习笔记三:一个图像去噪训练并离线测试的例子,基于mnist

    训练模型需要的数据文件有: MNIST_data文件夹下的mnist_train.mnist_test.noisy_train.noisy_test.train文件夹下60000个图片,test下10 ...

  6. 系统芯片 SoC

    SoC的定义多种多样,由于其内涵丰富.应用范围广,很难给出准确定义.一般说来, SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内 ...

  7. flask 第七篇 路由系统

    Flask中的路由系统其实我们并不陌生了,从一开始到现在都一直在应用 @app.route("/",methods=["GET","POST" ...

  8. 使用Statement执行DML和DQL语句

    import com.loaderman.util.JdbcUtil; import java.sql.Connection; import java.sql.DriverManager; impor ...

  9. 在Latex中插入Python代码

    这里指的插入是指最终能在生成的pdf中显示高亮的Python代码. 在Latex中插入Python代码,需要一个第三发的宏包pythonhighlight: https://github.com/ol ...

  10. springboot2.0双数据源配置

    题记:由于项目中不只是用一个数据库,所以记下以免忘记. 1.首先展示目录结构 2.pom配置文件 <?xml version="1.0" encoding="UTF ...