将一个元素的display设置为inline-block时,设置好各元素的宽高及颜色后,这个边距就会诡异的出现了,即使使用(*{margin:0;padding:0;})也是无法消除
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
div{
width: 100px;
height: 100px;
background: red;
display: inline-block;
}
</style>
</head>
<body>
<div class="example">
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>
第一种方法 :(推荐)
使用font-size:0;
在父容器上使用font-size:0;子容器上设置合适字号; 可以消除间隙 :
<div class="example">
<div></div>
<div></div>
<div></div>
</div>
.example{font-size: 0;}
.example div{
background: red;
display: inline-block;
font-size: 16px; /*要设置相应的字号*/
}
对于Chrome, 其默认有最小字体大小限制,考虑到兼容性,需要取消字体大小限制,这样写:
<div class="example">
<div></div>
<div></div>
<div></div>
</div>
.example{font-size: 0;-webkit-text-size-adjust:none;}
.example div{
background: red;
display: inline-block;
font-size: 16px; /*要设置相应的字号*/
}
第二种方法:
转换为inline-block的元素写在一起,不换行就行:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.example div{
width: 100px;
height: 100px;
background: red;
display: inline-block;
}
</style>
</head>
<body>
<div class="example">
<div></div><div></div><div></div>
</div>
</body>
</html>
第三种方法:
将结束标签与下一个开始标签写在一起,这样,他们之间的空格也会被清除掉
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.example div{
width: 100px;
height: 100px;
background: red;
display: inline-block;
}
</style>
</head>
<body>
<div class="example">
<div></div><!--
--><div></div><!--
--><div></div>
</div>
</body>
</html>
第四种方法:
将元素结束标签的”>“放在下一行的开始处
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.example div{
width: 100px;
height: 100px;
background: red;
display: inline-block;
}
</style>
</head>
<body>
<div class="example">
<div>
</div
><div>
</div
><div>
</div>
</div>
</body>
</html>
最后效果展现