javascript - font-size:0px的奇怪行为
怪我咯
怪我咯 2017-05-19 10:18:44
[JavaScript讨论组]

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

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




    
     relationship between height  and font-size 
      


    

it is a car

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

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




    
     relationship between height  and font-size 
      


    

it is a car

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

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
巴扎黑

这是font-size对img标签的影响。外层包围img元素的p font-size越大,底部留白也就越大。span作为一个行内元素,高度没有img高,可以忽略。e1和e2之间相差的高度就是img和p之间的留白。(当然你要border注释掉,p font-size:0时才能得到e1-e2等于0)。

淡淡烟草味

指出一点:情况1应该为2

三个点:
1.p的高度是由line-height撑起。
2.默认情况下,line-heightnormal(1.1-1.2由浏览器决定),又是由font-size决定
3.offsetHeight还包括border

所以,我们再来看:
情况1:在父元素p设置font-size:0;此时,span继承font-size:0,但border上下和2px,所以,poffsetHeight=内容高度+border,内容高度=imgoffsetHeight+span的2px,所以e1.offsetHeight-e2.offsetHeight=2才对
情况2:在子元素上分别设置font-size:0;imgspan的情况和上述一样,但是pfont-size默认为16px;line-height值由浏览器决定,所以它的内容高度改变了,最后的值由浏览器决定。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号