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

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

在页面布局时,我们经常会使用到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>

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注相关教程栏目!!!

以上就是如何删除内联或内联块元素之间的间隙的详细内容,更多请关注其它相关文章!