标签:text 多行 其他 rom 大致 容器 步骤 contex com
原因在于块级元素内部默认有行框,行框撑高了块级元素。img和其他块级元素并列的时候,由于img默认是display:inline-block
,因此也会产生匿名块框包裹img,匿名块框内部生成了行框,多余了几个像素。这也是为何把图片添加上display:block
,或者父层级font-size
、line-height
能够解决这个的原因。
下面是详细解释:
根据W3C规范9.4.2:inline-formatting context、W3C规范10.8:line-height,行框高度计算过程大致如下:
line-height
影响到的是步骤1vertical-align
影响到的是步骤2、3
@Only1Word的理解有误,font-size
只通过影响line-height
来间接影响行框的高度。
但是chrome和safari有错误的机制,影响了步骤4(font-size
大于line-height
的情形)的正确表现,详见http://www.w3help.org/zh-cn/causes/RD5017。
(更新,这个bug已均被safari和chrome修复。)
标签:text 多行 其他 rom 大致 容器 步骤 contex com
原文地址:http://www.cnblogs.com/lsongyang/p/7693200.html