关于 CSS 中的 em 单位的计算, 95%的前端都误解了。
source link: https://www.v2ex.com/t/877412
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
• 换工作是一件经过深思熟虑的严肃事情
• 频繁换工作是 loser 做的事情
• 公司应该提供给员工尽可能好的条件
• 这里不欢迎苦大仇深的公司
• 原则上这里不欢迎猎头发帖,除非是懂技术的猎头
• 如果你自己从来没有从期权上赚过钱,就不要在招聘时强调期权
• 招聘时请尽量给出薪酬范围
• 求职时请附上自己的薪酬要求
• 说话前经过足够的思考是好习惯
• 上传一个有意义的头像会更体现你们公司的品牌和诚意
• 请不要在 1 天的时间内在酷工作节点发布超过 3 个主题
• 请不要在不同节点下发布内容相同的主题
我回答:em 的计算是根据当前元素的字号,1em 等于当前字号,2em 等于当前字号乘 2 得到的像素值。
面试官反驳说 em 是根据父元素的字号来计算,我只能说之后我这边再验证一下吧。
---
事后我以为我的记忆出现了偏差,尝试进行查找相关文章,最后发现在简中搜索结果里,大部分文章的结论都是与面试官相同。
陷入了自我怀疑,最后自己动手尝试,验证了确实自己的结论是对的。
发帖子只是想吐槽一下,差点怀疑了世界的真实性。
danbai 11 小时 1 分钟前 via Android 他说的是 rem 吧
|
zhaomeicheng 10 小时 59 分钟前 |
rabbbit 10 小时 55 分钟前 font-size: 1em 这个根据谁计算?
width: 1em 这个又根据谁计算? |
foufoufm 10 小时 35 分钟前 请教一下,主帖中的说的简中是指中文互联网??
帖子没看懂。 |
otakustay 10 小时 15 分钟前 em 当然是根据父元素来的,不然自己 font-size: 2em 不就死循环了
|
zhaomeicheng 9 小时 56 分钟前 @otakustay
```css .parent { font-size: 10px; .child { font-size: 20px; width: 1em; } } ``` 如果按照你说的,child 的宽度应该是 10px ,实际上最后的宽度是 20px ,你可以自己验证一下。 |
rabbbit 9 小时 38 分钟前 em 多用于 font-size ,所以多数面试 em 也默认是用在 font-size 上。
以前的移动端适配和大屏倒是会使用 rem 作为计算单位。 我很好奇在什么情况会使用 width: Xem |
Rache1 8 小时 52 分钟前 font-size 是可继承的 - -,是相对于自身的。
|
jarnanchen 8 小时 21 分钟前 歪个楼,楼主头像本人?
|
zhaomeicheng 8 小时 13 分钟前 |
h1104350235 8 小时 2 分钟前 面试官的话并不是全对的。
要有一种求真的 |
estk 7 小时 53 分钟前 via Android 这考察的是英文,rem 的 r 是 root 根 的意思
|
otakustay 7 小时 46 分钟前 @zhaomeicheng #8 打字打漏了,em 在 font-size 的时候自然是父元素的字体大小
|
learnshare 7 小时 20 分钟前 记住核心:em 是一个倍数,em 应该以 font-size 为基准计算
那么: 1. 元素的 font-size: Xem 只能从父元素获得(继承) 2. 元素的其他属性( Xem )以自己的 font-size 计算 --- 另外,em/rem 应当只用于文本相关的属性,不应当用于布局相关的属性 |
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK