html中的长度单位em,CSS长度单位之em介绍

本文给大家带来CSS长度单位之em介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

一、为什么使用em

em也是css中的一种单位,和px类似。很多人会疑惑为什么有了px之后还要使用em,而且em使用起来相对于px来讲比较麻烦。

em主要是应用于弹性布局,下面给出一个小栗子说明em的强大之处Documentem测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例,没有em的情况

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

em测试用例有em的强大之处

这里模仿了一个网页的大致布局,给出使用em和px的区别。

在正常情况下,em和px看起来没什么区别。如下图

可以看到使用px的左边已经完全崩溃了,看不出来具体的文字了。而右边使用em的仍然可以清楚的看到文字。造成这种现象的主要原因是em是相对大小,使用em时对页面进放大或缩小不会造成太大的影响。

既然是相对大小,那么就会有参考大小,em的参考大小是当前元素的字体大小。这时又会引发一个问题,既然是当前元素的字体大小作为参考,那么当前字体以em为单位时又是以什么作为参考呢?这时是以其父级元素的字体大小作为参考。

因此当整个页面都是使用em作为字体大小的情况下,页面中的1em就是浏览器默认的字体大小为16px;

二、em的具体使用:

1、设置body{font-size:1em}

在设置好body的字体大小的情况下,由于body字体是继承浏览器默认是16px,那么这时只要网页上全是用em,那么1em=16px;

2、开始计算元素具体需要的大小

(1)如果元素的字体大小是继承于上层即16px,那么在元素内部1em=16px;因此计算方法如下

需要的em值=当前元素的px值/父元素的字体大小值px(一般是16px)

例如:1px=1/16=0.0625em,18px=18/16=1.125em

(2)如果元素的字体大小是自己设置的

当前元素的字体大小的em值=当前元素字体大小px/父元素字体大小px

当前元素需要的其他em值=当前元素的px值/元素自身的字体大小px

下面通过一个例子进行具体的解释Document

aaa son1

aaa son2

打开浏览器中显示的.son1盒子的盒子模型,以及网页结果图具体入下

可以发现.son1 和.son2 一模一样。

.son1 的字体大小为 2em 对应的px为 2*16=32px;(反过来可以验证公式 当前元素的字体大小的em值(2)=当前元素字体大小px(32)/父元素字体大小px(16))

高度宽度为5em 对应px为 5*32=160px;(反过来可以验证公式当前元素需要的其他em值(5)=当前元素的px值(160)/元素自身的字体大小px(32))

注意:在ie5/6中还需要添html { font-size:100%} 以保证弹性布局(但是目前ie5/6基本没有,而且这条是根据文章 《The Incredible Em & Elastic Layouts with CSS》 得知的,本人并没有试出来具体问题在哪。。先记下,以后遇到类似情况使用)

3、rem的使用

rem使用方法和em类似,不过rem是相对于根元素的大小(即html的字体大小),而不是自身的大小。2中的栗子中的.son1 的相关带em的属性全改为rem 代码如下Document

aaa son1

aaa son2

结果图为:

div/css图文教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS文字超过长度时,有几种方法可以实现不同的效果。如果你想多行显示文字,并在文本溢出时以省略号(...)表示,你可以使用以下CSS属性:overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; 这将使文本在指定的容器显示两行,并在超出容器高度时自动省略并显示省略号。 另一种方法是使用单行显示并在文本溢出时以省略号表示。你可以使用以下CSS属性:width:200px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 这将使文本在指定的容器宽度内显示,超出宽度时自动省略并显示省略号。 这些方法可以根据你的需求选择适合的效果。无论是多行显示还是单行显示,通过设置合适的CSS属性,你可以控制超过长度的文字如何显示。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [css文字超出显示...](https://blog.csdn.net/qq_44793507/article/details/126241982)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Q定制云印刷在线DIY定制系统 v5.0 - PHP在线DIY定制系统下载](https://download.csdn.net/download/weixin_36643308/88248678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值