华拓科技网
您的当前位置:首页如何删除内联或内联块元素之间的间隙

如何删除内联或内联块元素之间的间隙

来源:华拓科技网
 删除内联或内联块元素间间隙的方法有:去掉元素标签间的空格、使用负边距、在父元素上设置字体大小为零、省略结束标签。

在页面布局时,我们经常会使用到inline元素、inline-block元素,但无可避免都会遇到一个问题,那就是这些元素之间存在间隙(如下图),会导致一些布局上的问题,那么如何删除这些元素之间的间隙?下面我们就来介绍几种方法(以inline元素为例),希望对大家有所帮助。【相关视频教程推荐:HTML教程、CSS教程】

<div class="demo"> 
 <span>我是一个span。</span>
 <span>我是一个span。</span>
 <span>我是一个span。</span>
 <span>我是一个span。</span>
 <span>我是一个span。</span>
</div>
.demo{
	width: 450px;
	height: 200px;
	margin: 10px auto;
	font-size: 20px;	
}
.demo span{
	background:#ddd;
}

效果图:

去掉元素标签间的空格

元素间的间隙出现的原因是元素标签之间的空格(浏览器会将HTML中的换行符和空格解析为内容。),把空格去掉间隙自然就会消失。去掉元素标签间空格有以下几种方法:

方法一:

<div class="demo">
 <span>我是一个span。</span><span>我是一个span。</span><span>我是一个span。</span><span>我是一个span。</span><span>我是一个span。</span>
</div>

方法二:

<div class="demo">
 <span>我是一个span。
 </span><span>我是一个span。
 </span><span>我是一个span。
 </span><span>我是一个span。
 </span><span>我是一个span。</span>
</div>

方法三:使用HTML注释标签<!-- -->

使用HTML注释标签<!-- -->把元素间的空格注释掉,让浏览器不在解析空格。

<div class="demo">
 <span>我是一个span。</span><!--
 --><span>我是一个span。</span><!-- 
 --><span>我是一个span。</span><!-- 
 --><span>我是一个span。</span><!--
 --><span>我是一个span。</span>
</div>

效果图:

使用负边距

可以使用设置边距(margin)属性为负值来将元素移回原位,需要根据父级的字体大小进行负值的调整。

span{
margin-left: -6px;
}

注:这在旧的IE(6和7)中是有问题的。

在父元素上设置font-size: 0;

空格是一个字符空间,因此将font-size设置为零也会使空间的大小为零。但是,为了显示其他元素,需要将子元素的字体大小设置回所需的大小。

.demo{
 width: 400px;
 height: 200px;
 font-size: 0;
}
.demo span{
 background:#ddd;
 font-size: 20px;
}

省略结束标签

在HTML5中可以省略结束标签,进而删除标签间的空格。但为了兼容IE6/IE7,可以添加最后一个元素的结束标签。

<div class="demo">
 <span>我是一个span。
 <span>我是一个span。
 <span>我是一个span。
 <span>我是一个span。
 <span>我是一个span。</span>
</div>
显示全文