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

时间: 2024-11-08 03:35:10

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

php include 语句包含文件时,浏览器多出换行

今天在做一个项目时候,用include语句包含文件.在云服务器上测试正常,在虚拟主机上总是多了莫名奇妙的换行符或者空格符.问题如下:经过排查发现问题出现在包含文件的页面编码上:被包含文件的编码是 utf-8+bom编码方式存储.将文件转化成utf-8无bom的编码格式就好:下面此次问题排查中学习到的东西,总结如下: 1.什么是BOM? BOM是用来判断文本文件是哪一种Unicode编码的标记,其本身是一个Unicode字符("\uFEFF"),位于文本文件头部.UTF-8实际上包含两种

inline,block,inline-block解析

display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都可控制: 宽度缺省是它的容器的100%,除非设定一个宽度 <div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子. display:inline就是将元素显示为行内元素. inline元素的特点是:  和其他元素都在一行上: 高,行高及顶和底边距不可改变: 宽度就是它的文字或图

CSS display:inline|block|inline-block差异

display:inline|block|inline-block三属性的区别和联系,block就是将元素显示为块级元素,inline就是将元素 显示为行内元素,CSS display:inline-block将对象呈递为内联对象,但是对象的内容作为块对象呈递.旁边的内联对象会被呈递在同一行内,允许空格. 详解CSS display:inline|block|inline-block的区别 ◆CSS display:block CSS display:block就是将元素显示为块级元素. blo

复合B*tree索引branch block内是否包含非先导列键值?

好久不碰数据库底层细节的东西,前几天,一个小家伙跑来找我,非要说复合b*tree index branch block中只包含先导列键值信息,并不包含非先导列键值信息,而且还dump了branch block,用以证明他的说法,从常理和SQL的语句执行信息就可以知道,他的说法是有问题的,但如何证明这一点呢?为了证明这点,也麻烦一次,玩玩多年不碰的dump.下面是他证明自己观点的两个dump结果(一个为单键索引,另一个是复合索引): 下面是本人的测试过程和结果: create table t1(c

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: “object”未包含“get_Range”的定义

asp.net操作Excel合并单元格时,抛出了异常: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: "object"未包含"get_Range"的定义 在 CallSite.Target(Closure , CallSite , ComObject , Object , Object ) 在 System.Dynamic.UpdateDelegates.UpdateAndExecute3[T0,T1,

ASP.NET5:“Type”未包含“GetProperties”的定义

在VS2015中,C#中的反射技术中的一些方法,是不包含在DNX Core 5.0中的,如果直接创建ASP.NET5项目,并使用反射会报如下错误: 严重性 代码 说明 项目 文件 行 错误 CS1061 “Type”未包含“GetProperties”的定义,并且找不到可接受第一个“Type”类型参数的扩展方法“GetProperties”(是否缺少 using 指令或程序集引用?) WebApplication3.DNX Core 5.0 D:\visual studio 2015 Proje

记dynamic的一个小坑 -- RuntimeBinderException:“object”未包含“xxx”的定义

创建一个控制台程序和一个类库, 在控制台创建一个匿名对象,然后再在类库中访问它,代码如下: namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var obj = new { Id = 1 }; var c = new ClassLibrary1.TestClass(); c.Test(obj); Console.ReadLine(); } } } namespace ClassLib

hive Groupby 输出未包含在groupby的字段

今天帮同事测试,发现代码里有个好用的hive 函数: collect_set 可以输出未包含在groupby里的字段.条件是,这个字段值对应于主键是唯一的. select a, collect_set(b)[0], count(*) -- 同时想输出每个主键对应的b字段 from ( select 'a' a, 'b' b from test.dual )a group by a; -- 根据a group by

Oracle复合B*tree索引branch block内是否包含非先导列键值?

好久不碰数据库底层细节的东西,前几天,一个小家伙跑来找我,非要说复合b*tree index branch block中只包含先导列键值信息,并不包含非先导列键值信息,而且还dump了branch block,用以证明他的说法,从常理和SQL的语句执行信息就可以知道,他的说法是有问题的,但如何证明这一点呢?为了证明这点,也麻烦一次,玩玩多年不碰的dump.下面是他证明自己观点的两个dump结果(一个为单键索引,另一个是复合索引): 下面是本人的测试过程和结果: create table t1(c