zoukankan      html  css  js  c++  java
  • css单位——vh vw em rem等详解

    最近看别人写代码,用到了height:100vh;当时感觉很有意思,以前没有见过vh这个单位,于是乎就到CSS3参考手册找答案了。。。自己顺便做了下总结:

    1.vh vw:相对于视口的高度,宽度。视口被均分为100单位的vh,vw,神马意思呢?看个demo

     1 <!DOCTYPE html>
     2 <html lang="Zh-cn">
     3 
     4     <head>
     5         <meta charset="UTF-8">
     6         <title>css_vh_vw</title>
     7     </head>
     8     <style type="text/css">
     9         *{
    10             margin: 0;
    11             padding: 0;
    12         }
    13         .a{
    14             height:10vh;
    15             width: 10vw;
    16             background-color: #3a9;
    17         }
    18     </style>
    19 
    20     <body>
    21         <div class="a">
    22             
    23         </div>
    24     </body>
    25 </html>
    View Code
    效果图:

    先说下我的浏览器窗口大概是1366*662,而代码里宽高分别是10vh 10vw;相当于把浏览器视口分成100份,取10vh 10vw,相当于取其中的10份,1366/100*10约等于136.59

    662/100*10约等于66.19。

    2.rem em px:

    rem:是一个相对单位,相对根元素字体大小的单位,再直白点就是相对于html元素字体大小的单位;

    em:相对于父元素而言,相对于rem有点麻烦,跟px相比优点是可以自适应,em也是个相对单位;

    px:设计师给出的一般都是以px为单位,所以使用px不用计算,比较简单,但是不能自适应。

    重点说下rem: 首先浏览器默认字体大小16px。rem: px的换算为:1::10;

    demo:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>css_vh_vw</title>
     6     </head>
     7     <style type="text/css">
     8         html{
     9              font-size: 62.5%;
    10         }
    11         .a{
    12             font-size: 10px;
    13         }
    14         .b{
    15             font-size: 1rem;
    16         }
    17         .c{
    18             font-size: 1.2rem;
    19         }
    20         .d{
    21             font-size: 16px;
    22         }
    23         *{
    24             margin: 0;
    25             padding: 0;
    26         }
    27         
    28     </style>
    29     <body>
    30 31             <div class="a">
    32 33             </div>
    34             <div class="b">
    35 36             </div>
    37             <div class="c">
    38 39             </div>
    40             <div class="d">
    41 42             </div>
    43     </body>
    44 </html>
    View Code

    效果图:(基于火狐浏览器)

    补充:google的浏览器字体最小识别12px,不能再小了,再小,浏览器不能呈现你想要的效果,可以用一些技巧解决,自行百度 google。

     3.ex: 相对长度单位。相对于字符“x”的高度。此高度大概为字体尺寸的一半,不完全等于一半,(用火狐浏览器测试)

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="UTF-8">
     5         <title>css_vh_vw</title>
     6     </head>
     7     <style type="text/css">
     8          
     9         .a{
    10             font-size: 10px;
    11         }
    12         .b{
    13             font-size: 16px;
    14         }
    15         .c{
    16             font-size: 8px;
    17         }
    18         .d{
    19             font-size: 1ex;
    20         }
    21         *{
    22             margin: 0;
    23             padding: 0;
    24         }
    25         
    26     </style>
    27     <body>
    28         X
    29             <div class="a">
    30                 X
    31             </div>
    32             <div class="b">
    33                 X
    34             </div>
    35             <div class="c">
    36                 v
    37             </div>
    38             <div class="d">
    39                 X
    40             </div>
    41     </body>
    42 </html>
    View Code

    测试会发现1ex不等于8px的字体,(因为这里浏览器默认字体为16px),不完全是一半嘛

    4.%:

    % 相对长度单位。相对于浏览器窗口的大小。

    5.

    1in = 2.54cm = 25.4 mm = 101.6q = 72pt = 6pc = 96px;

    6.ch

    数字“0”的宽度

    7.vmin    vmax;

    h1 {font-size: 8vmin;}
    如果视口的宽度是300mm,高度是200mm,那么上述代码中h1元素的字号将为16mm,即(8x200)/100,因为高度比宽度要小,所以计算的时候相对于高度。

    最后:贴张图:

    参考内容:http://www.css88.com/book/css/values/length/vmax.htm

  • 相关阅读:
    ajax初步(1) fly
    jquery(1) fly
    图片轮播 fly
    仿慕课网教程html+css页面前段时间学习总结(1) fly
    jquery(3)常用方法 fly
    再次遭遇VS设计视图假死
    注册表导致VS2008切换设计视图假死
    BUUCTF PWN 铁人三项(第五赛区)_2018_rop
    buuctf re [FlareOn4]IgniteMe
    buuctf re [WUSTCTF2020]level3
  • 原文地址:https://www.cnblogs.com/gaoxuerong123/p/7217996.html
Copyright © 2011-2022 走看看