inline和inline-block的间隙问题
我们在前端布局的时候,会偶尔发现,在具有inline/inline-block属性的元素间存在一小段间隙,网上有些文章说这个间隙是6px,但我觉得应该是一个空格的宽度。
这里以inline-block(IE6、IE7不支持,也就是存在兼容问题)为例:
下面是一些代码及其相应的效果图:
CSS:
span{
background:red;
display:inline-block;
}
HTML:
<span>你好</span><span>你好</span><span>你好</span><span>你好</span>
效果图:
如果只更改HTML部分为
<span>你好</span><span>你好</span>
<span>你好</span><span>你好</span>
则效果图:
可以看到中间多出了一个小间隙,这个间隙就是由换行产生的。
如果同时又更改CSS部分,设置font-size为一个比较大的值
*{
font-size:36px;
}
span{
background:red;
display:inline-block;
}
我们有下图
可以看到间隙变大了。
如果我们把HTML部分换行替换成空格,可以得到上图一样的效果
由此可见,inline/inline-block之间的间隙确实由换行符产生,其大小为一个空格宽度(这里要说明一下,这个空格宽度是指相应父元素的空格宽度)。
附加:inline-block兼容问题
要解决inline-block的兼容问题,首先要了解兼容问题产生的原因。
1、IE6、IE7不识别inline-block但可以触发块元素。
2、其他主流浏览器都支持inline-block。
解决方法:
1、兼容IE6、IE7:首先设置inline-block触发块元素,使其具有layout属性,其次设置inline,此时layout属性不会消失。或者设置inline,然后再设置zoom:1触发layout。
2、兼容所有主流浏览器:
display:inline-block;
*display:inline;
*zoom:1;
inline和inline-block的间隙问题的更多相关文章
- display:block、display:inline与displayinline:block的概念和区别
总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...
- 当inline元素包裹block元素时会发生什么
经常有图片链接写法如下: <a href="www.baidu.com"><img src="baidu.jpg" /></a&g ...
- display:inline 跟 display:block 跟 display:inline-block区别
我来说句人话吧.display:inline; 内联元素,简单来说就是在同一行显示.display:block; 块级元素,简单来说就是就是有换行,会换到第二行.display:inline-bloc ...
- 多个inline元素、block元素、inline-block元素在父容器中的换行情况
1.首先看inine元素的换行情况 <style> *{padding:0;margin:0} div.wrap{width:200px;height:200px;border:1px s ...
- inline元素、block元素、inline-block元素
inline 内联元素:是不可以控制宽和高.margin等:并且在同一行显示,不换行,直到该行排满. block 块级元素:是可以控制宽和高.margin等,并且会换行.块级对象元素会单独占一行显示, ...
- display:inline与display:block——行内元素显示与块级元素显示
display:inline 的作用是设置对象做为行内元素显示,inline是内联对象的默认值(ps:内联对象就是不自动产生换行的元素,比如span) 而我们一般用的div是块级元素,默认displa ...
- block与inline,inline和inline-block,块级和行内元素,行内替换和行内非替换元素
block:块级元素默认display属性为block:无论块内内容有多少,总是占满一行: inline:行内元素默认display属性为inline:只占据块内的内容的大小,不会占满一整行: inl ...
- inline元素、block元素
inline元素 不会独占一行,相邻的行内元素会排列在同一行内,直到一行排不下才会换行 高.行高.以及外边距和内边距不可改变 宽度就是它的文字或图片的宽度,不可改变,随元素内容变化而变化 内联元素只能 ...
- font-size:0的妙用,用于解决inline或者inline-block造成的间隙
1.图片间的缝隙(图片间的间隙一般是由换行.缩进造成的) <div> <img src="1.jpg"> <img src="2.jpg&q ...
- static inline和inline的区别——stm32实测
参考:http://armbbs.cn/forum.php?mod=viewthread&tid=95190&extra=page%3D1 对于内联函数,不能像普通函数那样,直接在.h ...
随机推荐
- iview admin 发布到IIS
公司项目打算做前后端分离,选型最后选了vue+webapi的模式.于是在网上找到了iview及iview admin 这个后台管理模板,里面东西很完善.有这么好的东西,而且MIT协议,项目本身也比较简 ...
- Vue 网络请求
Vue网络请求,用的是vue-resource 1. 首先需要安装vue-resource npm install vue-resource 2. 安装好之后,会在package.json文件中自动加 ...
- WPF Demo7
没有Path/Source的数据绑定 本地local资源用法 namespace Demo9 { public class Student { private string name; public ...
- 【JSP中引入文件】JSP中获取根路径+引用js文件
在jsp界面中经常需要引入js.css等文件,通常都需要先获取项目根路径,然后再引入文件. 例如: 项目路径如下,需要在index.jsp中引入FusionCharts相关的js.css等: inde ...
- 杂项-自动化测试工具:Selenium(浏览器自动化测试框架)
ylbtech-杂项-自动化测试工具:Selenium(浏览器自动化测试框架) Selenium 是一个用于Web 应用程序测试的工具.Selenium 测试直接运行在浏览器中,就像真正的用户在操作一 ...
- 术语-服务:SaaS
ylbtech-术语-服务:SaaS SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式. ...
- 如何缓解DDOS攻击
1.减少攻击面 (a) reduce the number of necessary Internet entry points,(b) eliminate non-critical Internet ...
- [UE4]关闭自动曝光
向光移动,屏幕会慢慢变亮:背光移动,屏幕会慢慢变暗. 关闭自动曝光: 编辑->项目设置->搜索Auto exposure
- 长沙雅礼中学集训-------------------day2
怎么说呢,今天的题特别的神奇,因为emmmmmm,T1看不懂(一直到现在还没有理解明白期望概率什么的),T2题面看不懂+扩展欧几里得求逆元怎么求我忘了,T3哇,终于看懂一题了,然而写了个50分的程序但 ...
- PHP MySQL Order By
ORDER BY 关键词用于对记录集中的数据进行排序. ORDER BY 关键词 ORDER BY 关键词用于对记录集中的数据进行排序. ORDER BY 关键词默认对记录进行升序排序. 如果你想降序 ...