font-size:0px的奇怪行为

一个div里面有两个元素img span.

1。在div上设置font-size:0px

https://img4.mukewang.com/5c10a5540001c77a08250683.jpg

保存为car1.html,运行结果是0.

2。在div的两个子元素上设置font-size:0px

https://img1.mukewang.com/5c10a5610001202e07810670.jpg

保存为car2.html,运行结果是6px.
请问,如何解释这种行为?

开满天机
浏览 547回答 1
1回答

弑天下

指出一点:情况1应该为2三个点:1.div的高度是由line-height撑起。2.默认情况下,line-height为normal(1.1-1.2由浏览器决定),又是由font-size决定3.offsetHeight还包括border所以,我们再来看:情况1:在父元素div设置font-size:0;此时,span继承font-size:0,但border上下和2px,所以,div的offsetHeight=内容高度+border,内容高度=img的offsetHeight+span的2px,所以e1.offsetHeight-e2.offsetHeight=2才对情况2:在子元素上分别设置font-size:0;img和span的情况和上述一样,但是div的font-size默认为16px;line-height值由浏览器决定,所以它的内容高度改变了,最后的值由浏览器决定。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript