天天看点

如何取消inline-block元素的空隙?

最近做移动端页面时,经常会用到inline-block元素来布局,但无可避免都会遇到一个问题,就是inline-block元素之间的间隙。这些间隙会导致一些布局上的问题,需要把间隙去掉。对于inline-block元素及去掉间隙的方法,在这里做一个简单的总结。

inline-block是什么?

inline-block 即内联块,在css的元素分类中可以分成三种:行内元素或者内联元素、块级元素、以及内联块元素。

内联块元素具有了内联元素以及块级元素的特性:(1)元素之间可以水平排列 (2)可以当做一个块级元素来设置各种的属性,例如:width、height、padding等。

例子1:定义一个内联元素span为inline-block元素

<!DOCTYPE html >
<html>
<head>
<style type="text/css">
div{
    background: red;
    display:inline-block;   
}
</style>
</head>
<body>
<div>这是一个div</div>
<div>这是一个div</div>
<div>这是一个div</div>
</body>
</html>      

移除inline-block导致div间隙的方法:

1、移除标签间的空格

元素间的间隙出现的原因是元素标签之间的空格,把空格去掉间隙自然就会消失。

<!DOCTYPE html >
<html>
<head>
<style type="text/css">
div{
    background: red;
    display:inline-block;   
}
</style>
</head>
<body>
<div>这是一个div</div><div>这是一个div</div><div>这是一个div</div>
</body>
</html>      

2、将所有div放到同一个div中

<!DOCTYPE html >
<html>
<head>
<style type="text/css">
div{

    background: red;
    display:inline-block;       
}
</style>
</head>
<body>
    <div>
        <div>这是一个div</div>
        <div>这是一个div</div>
        <div>这是一个div</div>
    </div>
</body>
</html>      

3、通过设置父元素的font-size:0来解决这个问题

该方法适用于只包含图片的div