css中em什么意思

em是css中的一个相对长度单位,相对于当前对象内文本的字体尺寸;如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器默认字体尺寸。可以作用在width、height、line-height、margin、border等样式的设置上。

css中em什么意思

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

CSS中有众多单位,常用的px是绝对单位,em则是相对单位。在响应式和移动端的大前提下,使用em能够更方便快捷的一次性调整web文档极其HTML元素的字体大小、宽度、边距、边框等一系列属性,可以说在某些方面,使用em作为单位比px更灵活。

一、什么是em

1.em的长度

em是CSS中的一个相对单位,它的单位长度是根据元素的文本垂直长度来决定的。可以作用在width、height、line-height、margin、padding、border等样式的设置上。

1em=元素中文本的1个垂直高度

登录后复制

根据上面的规则:如果元素中文本的大小为16px,那么1em=16px;如果元素中文本大小为20px,那么1em=20px……

立即学习“前端免费学习笔记(深入)”;

2.em与HTML文本大小默认值

浏览器中的文本一般默认为16px,也就是说,默认的情况下:

1em=16px

登录后复制

那如何改变这个设定呢?只要显式的设置body元素的font-size即可。eg:

body {    font-size: 24px;    width: 10em;    /* 10em = 24px * 10 = 240px */}

登录后复制

3.em与继承

在CSS中,如果一个元素没有设置font-size,那么它的font-size值就是它父元素的font-size值,这很好理解,就是简单的继承而已。eg:

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

登录后复制

需要注意的是,子元素p继承了父元素body的font-size,所以其实在p的样式表中隐含了一句“font-size: 12px;”。现在如果显性的为子元素设置font-size的话,那么子元素将按照自己的font-size计算em的绝对长度。eg:

    body {        font-size: 12px;    }    div {        font-size: 20px;        width: 10em;    /* 10em = 20px * 10 = 200px */    }    

登录后复制

注意上例中p的font-size使用了px作为单位,那如果想使用em怎么办呢?需要注意的是,在设置font-size中使用em作为单位,那么em将是其父元素font-size的相对值。eg:

    body {        font-size: 12px;    }    div {        font-size: 2em; /* 2em = 12px * 2 = 24px */        width: 10em;    /* 10em = 24px * 10 = 240px */    }    

登录后复制

子元素p的font-size是根据其父元素body的font-size确定的,因此2em = 12px * 2, = 24px;而p的width是相对于自己的font-size确定的,因此10em = ( 12px * 2 ) * 10 = 240px。所以p中2em=24px,10em=240px也就不奇怪了。

事实上,不仅是width,子元素中除了font-size的em是根据父元素的font-size确定的,其他所有em都是根据自身的font-size确定的。

    body {        font-size: 16px;    }    div {        font-size: 1.25em;  /* 1.25em = 16px * 1.25 = 20px */        width: 10em;    /* 10em = 20px * 10 = 200px */        height: 5em;    /* 5em = 20px * 5 = 100px */        border: 0.05em solid #000;  /* 0.05em = 20px * 0.05 = 1px */        margin: 0.25em; /* 0.25em = 20px * 0.25 = 5px */        padding: 0.75em;    /* 0.75em = 20px * 0.75 = 15px */        line-height: 1.5em; /* 1.5em = 20px * 1.5 = 30px */    }    

登录后复制

(学习视频分享:css视频教程)

二、根据px计算出正确的em

1.使用PXtoEM计算器

使用在线工具PXtoEM(http://pxtoem.com/)可以轻松快捷的根据px计算出所需要的em值。

2.手动计算em

由下面的例子可以反向推导出px转em的计算公式

    div {        font-size: 16px;        width: 2em; /* 2em = 16px * 2 = 32px */    }

登录后复制

px = 参考文本大小 * em  =>  em = px / 参考文本大小

3.注意事项

上面的公式中,“ 参考文本大小”需要格外注意:

如果元素自身设置了font-size,那么参考文本大小就是自身的font-size大小

如果元素自身没有设置font-size,那么参考文本大小就是父元素的font-size大小

为元素设置font-size时,如果使用em作为单位,那么参考文本大小是父元素的font-size大小

更多编程相关知识,请访问:css视频教程!!

以上就是css中em什么意思的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2878060.html

(0)
上一篇 2025年3月10日 19:32:49
下一篇 2025年3月10日 19:32:58

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css怎么改变鼠标样式

    在css中,可以通过cursor属性来设置鼠标样式,语法格式“cursor:值;”。cursor属性用于规定要显示的光标的类型(形状),可以设置鼠标指针放在一个元素边界范围内时所用的光标形状。 本文操作环境:Windows7系统、HTML5…

    2025年3月10日
    200
  • css水平居中怎么设置

    css设置水平居中的方法:1、使用“text-align: center;”样式,可对块级元素(父元素)中的行内元素进行水平居中;2、使用“margin: 0 auto;”样式,可对块级元素(父元素)中具有固定宽度的块级元素进行水平居中。 …

    2025年3月10日
    200
  • css如何做三角形

    css做三角形的方法:首先创建一个div元素,设置div的width和height为0,只用边框宽来填充,边框样式设置为实线“solid”;然后顶部边框设置颜色,剩下的三个边框的颜色设置为透明“transparent”值即可。 本教程操作环…

    2025年3月10日 编程技术
    200
  • css怎么设置元素高度为20px

    在css中,可以使用height属性来给元素设置高度,只需要给元素添加“height:20px;”样式即可设置元素的高度为“20px”。height属性用于设置元素的高度,这个属性定义元素内容区的高度,行内非替换元素会忽略这个属性。 本教程…

    2025年3月10日
    200
  • css怎样把一张图片分割开

    css把一张图片分割开的方法:1、利用background-image和background-position属性来分割图片;2、利用clip属性,通过给img图片元素设置“clip:rect(y1,y2,x2,x1);”样式来分割图片。 …

    2025年3月10日 编程技术
    200
  • css有超文本标记选择器吗

    css中没有“超文本标记选择器”;css包含的选择器有:id选择器、class选择器、标签选择器、后代选择器、子选择器、伪类选择器、伪元素选择器、通用选择器“*”、属性选择器、群组选择器、相邻同胞选择器。 本教程操作环境:windows7系…

    2025年3月10日
    200
  • css图片如何设置上边框距离

    在css中,可以使用padding-top属性来设置图片的上边框距离,只需要给图片元素添加“padding-top:距离值;”样式即可。padding-top属性可以设置元素的上内边距(空间),不允许使用负值。 本教程操作环境:window…

    2025年3月10日
    200
  • css中skew是什么意思

    skew的意思为“倾斜”,是css中的内置函数,需与transform属性一起使用,用于元素的倾斜转换。css中有3种skew:“skew(x-角度,y-角度)”沿着X和Y轴的倾斜转换,“skewX(角度)”或“skewY(角度)”。 本教…

    2025年3月10日 编程技术
    200
  • CSS元素垂直居中

        css让人头疼的问题就是垂直居中。实现垂直居中好几种方式,但每一种方式都有一定的局限性,所以垂直居中可以根据实际的业务场景来使用。 1.容器里面的内容只有一行文字 nbsp;html>   * { padding: 0; ma…

    2025年3月10日
    200
  • css怎么用三种方法设置透明度

    方法:1、给元素添加“background-color:rgba(R,G,B,A)”样式来设置颜色透明度;2、给元素添加“opacity:透明值;”样式来设置透明度;3、给图像设置“filter:opacity(%);”样式来透明度。 本教…

    2025年3月10日 编程技术
    200

发表回复

登录后才能评论