美文网首页
HTML5中单位em的理解

HTML5中单位em的理解

作者: fumier | 来源:发表于2017-02-25 21:42 被阅读116次

    相关链接

    http://www.runoob.com/cssref/css-units.html
    http://blog.csdn.net/h_o_l_y/article/details/51852202

    em何意?

    它是描述相对于应用在当前元素的字体尺寸,所以它也是相对长度单位。一般浏览器字体大小默认为16px,则2em == 32px;


    1em=元素中文本的1个垂直高度
    如果元素中文本的大小为16px,那么1em=16px;如果元素中文本大小为20px,那么1em==20px

    PS:相对长度,相对于当前应用内文本的字体尺寸。

    字体单位使用em能支持IE6下的字体缩放,在页面中按ctrl+滚轮,字体以px为单位的网站没有反应。

    任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。为了简化font-size的换算,需要在css中的body选择器中声明font-size=62.5%,这就使em值变为 16px62.5%=10px, 这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了*。

    em的特点

    • em的值不固定
    • em会继续父级元素的字体大小

    举个例子

    例一,

    默认情况下1em=16px,如何改变这个默认值呢?
    body {
        font-size: 24px;//修改font-size就可以更改默认值
        width: 10em;    /* 10em = 24px * 10 = 240px */
    }
    

    例二,

    body {
            font-size: 12px;
        }
        div {
            /* 该元素没有设置font-size,因此继承了父元素的font-size: 12px; */
            width: 10em;    /* 10em = 12px * 10 = 120px */
        }
    

    例三,

    body {
            font-size: 12px;
        }
        //子元素设置了font-size,但是单位不一样怎么算呢?
        div {
            font-size: 2em; /* 2em = 12px * 2 = 24px */
            width: 10em;    /* 10em = 24px * 10 = 240px */
        }
    

    注意:

    • 如果元素自身设置了font-size,那么参考文本大小就是自身的font-size大小
    • 如果元素自身没有设置font-size,那么参考文本大小就是父元素的font-size大小
    • 为元素设置font-size时,如果使用em作为单位,那么1em=父元素的font-size大小

    相关文章

      网友评论

          本文标题:HTML5中单位em的理解

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