美文网首页
css长度单位

css长度单位

作者: 另一只小白 | 来源:发表于2017-10-10 11:31 被阅读10次

    字体相关相对长度单位

    em、ex、ch、rem是字体相关的相对长度单位

    • em

    em表示元素的font-size属性的计算值,如果用于font-size属性本身,相对于父元素的font-size;若用于其他属性,相对于本身元素的font-size(自身元素没有font-size,则看父元素的)

    <style>
    .box{font-size: 20px;}
    .in{
        /* 相对于父元素,所以2*2px=40px */
        font-size: 2em;
        /* 相对于本身元素,所以5*40px=200px */
        height: 5em;
        /* 10*40px=400px */
        width: 10em;
        background-color: lightblue;
    }
    </style>
    
    <div class="box">
        <div class="in">测试文字</div>    
    </div>
    
    em示例

    总结

    1. 浏览器的默认字体大小是16px,浏览器可以设置默认字体号以及最小字体,如谷歌的最小字体为12px

    2. 如果元素自身没有设置字体大小,那么元素自身上的所有属性值如“boder、width、height、padding、margin、line-height”等值,我们都可以按下面的公式来计算

    需要转换的像素值 = 父元素的font-size × em值
    
    1. 这一种千万要慢慢理解,不然很容易与第二点混了。如果元素设置了字体大小,那么字体大小的转换依旧按第二条公式计算,也就是下面的:
     需要转换的像素值 = 父元素的font-size × em值
    

    那么元素设置了字体大小,此元素的其他属性,如“border、width、height、padding、margin、line-height”计算就需要按照下面的公式来计算:

    需要转换的像素值 = 元素自身的font-size × em值 
    
    • rem

    rem是相对于根元素html的font-size属性的计算值

    兼容性: IE8-不支持

    <style>
    /* 浏览器默认字体大小为16px,则2*16=32px,所以根元素字体大小为32px */
    html{font-size: 2rem;}
    /* 2*32=64px */
    .box{font-size: 2rem;}
    .in{
        /* 0.5*32=16px */
        font-size: 0.5rem;
        /* 1*32=32px */
        border-left: 1rem solid black;
        /* 4*32=128px */
        height: 4rem;
        /* 6*32=192px */
        width: 6rem;
        background-color: lightblue;
    }
    </style>
    
    <div class="box">
        <div class="in" id="test">测试文字</div>    
    </div>
    
    rem示例
    • ex

    ex是指所用字体中小写x的高度。但不同字体x的高度可能不同。实际上,很多浏览器取em值一半作为ex值
    [注意]ex在实际中常用于微调

    • ch

    ch与ex类似,被定义为数字0的宽度。当无法确定数字0宽度时,取em值的一半作为ch值
    兼容性: IE8-不支持
    [注意]ch在实际中主要用于盲文排版

    视口相关相对长度单位

    • vh

    布局视口高度的 1/100

    • vw

    布局视口宽度的 1/100

    <style>
    body{margin: 0;}
    .box{
        /* 实现与屏幕等高的效果 */
        height: 100vh;
        background-color: lightblue;
    }    
    </style>
    
    <div class="box"></div>
    
    vw示例
    • vmin
        
      布局视口高度和宽度之间的最小值的 1/100
    /*类似于contain效果*/
    .box{
        height: 100vmin;
        width: 100vmin;
    }
    
    vmin示例
    • vmax

    布局视口高度和宽度之间的最大值的 1/100

    /*类似于cover效果*/
    .box{
        height: 100vmax;
        width: 100vmax;
    }   
    
    vmax示例

    绝对长度单位

    • 像素px(pixels)

    在web上,像素px是典型的度量单位,很多其他长度单位直接映射成像素。最终,他们被按照像素处理

    • 英寸in(inches)

    1in = 2.54cm = 96px

    • 厘米cm(centimeters)

    1cm = 10mm = 96px/2.54 = 37.8px

    • 毫米mm(millimeters)

    1mm = 0.1cm = 3.78px

    • 1/4毫米q(quarter-millimeters)

    1q = 1/4mm = 0.945px

    • 点pt(points)

    1pt = 1/72in = =0.0139in = 1/722.54cm = 1/7296px = 1.33px

    • 派卡pc(picas)

    1pc = 12pt = 1/6in = 1/6*96px = 16px

    相关文章

      网友评论

          本文标题:css长度单位

          本文链接:https://www.haomeiwen.com/subject/kacvyxtx.html