span设为inline-block之后,未包含文字时下面会多出一条空白问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了span设为inline-block之后,未包含文字时下面会多出一条空白问题相关的知识,希望对你有一定的参考价值。

1.问题的引出:

产品列表页面场景:

上面是产品图片【img】,

中间是提示库存信息【span】(始终存在,有库存则不显示文字,但元素占位。所以设置display:inline-block),

下面是产品名称【div】。

效果如下:

技术分享

我们发现,没有文字的时候,span元素下方会多一条空白。

将display设置为block,则不会出现此问题。

2.问题的解决:

span元素设置vertical-align值为baseline以外的值。

3.为什么这样解决:

兼容性问题!!!

专业描述:RD3020: 在不同的文档模式中,当唯一的非表单控件类行内替换元素存在于其包容块中时,其父框的行高并不一定会计算文本基线高度

见地址:http://w3help.org/zh-cn/causes/RD3020

 

以上是关于span设为inline-block之后,未包含文字时下面会多出一条空白问题的主要内容,如果未能解决你的问题,请参考以下文章

inline-block 样式问题(不在一行,间距)

关于inline-block的一点发现

为啥 bootstrap 在 .span 上使用浮点数而不是 display: inline-block?

标签li设为display inline-block后间距问题

CSS 汇总

前端中如何使span中的文字居中