分享好友 前端技术首页 频道列表

inline-block带来的元素间距问题解决

css教程  2015-08-09 19:520

display:inline-block:众前端们都知道,其作用是将对象呈递为内联对象,但是对象的内容作为块对象呈递。
有如下代码
 

CSS Code复制内容到剪贴板
  1. <div class="ac-btn">   
  2.                                         <a href="#" class="btn-save"></a>   
  3.                                         <a href="#" class="btn-print"></a>   
  4.                                     </div>   
  5.     
  6. .ac-btn a{background:url(../img/action.png) no-repeat;width:73px;height25px;displayinline-block;}   
  7. .ac-btn .btn-save{background-position: 0 0;}   
  8. .ac-btn .btn-print{background-position: -73px 0;}  

这样呈现的如下

2个元素之间有间隙,那么问题来了
为什么会出现间隙?

原因是inline-block允许空格,出现空隙的罪魁祸首就是包括换行在内的空白符。
如何消除间隙?

对父级元素设置font-size:0

即上述CSS代码改为
 

CSS Code复制内容到剪贴板
  1. .ac-btn {font-size:0;}   
  2. .ac-btn a{background:url(../img/action.png) no-repeat;width:73px;height25px;displayinline-block;}   
  3. .ac-btn .btn-save{background-position: 0 0;}   
  4. .ac-btn .btn-print{background-position: -73px 0;}  

block,inline和inlinke-block细节对比

display:block
1.block元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度。
2.block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。
3.block元素可以设置margin和padding属性。


display:inline
1.inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。
2.inline元素设置width,height属性无效。
3.inline元素的margin和padding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。

display:inline-block
简单来说就是将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。

查看更多关于【css教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
css之display:inline-block block,inline和inline-block概念和区别
display:inline-block;作用:将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。举例:给span clas

0评论2023-03-08484

CSS: inline、block和inline-block的区别
 块级元素特点:1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(很霸道,一个块级元素独占一行)2、元素的高度、宽度、行高以及顶和底边距都可设置。3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一

0评论2023-03-08901

兼容浏览器的css inline-block写法
这篇文章主要介绍了兼容浏览器的inline-block,需要的朋友可以参考下

0评论2016-03-1290

使用display:inline-block居中没有宽度的元素
为要居中元素的父元素应用text-align:center,为要居中的元素设定display:inline-block.这样设定就可以得到我们想要的结果

0评论2015-11-06135

深入了解float与inline-block
这篇文章主要介绍了深入了解float与inline-block,分别从兼容性,对父元素的影响等方面进行了分析,推荐给小伙伴参考下

0评论2015-11-0657

更多推荐