1.问题描述
HMS想要在在一行里面显示多个div,于是他这样写
<!DOCTYPE html>
<html>
<head>
<title>html空隙</title>
</head>
<body>
<div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
<style type="text/css">
.box {
display: inline-block;
width: 50px;
height: 50px;
background: #548B54;
}
</style>
</body>
</html>
等到的结果却是这样的
但是HMS并没有设置div之间的间距,这个空隙是怎么产生的呢?他百思不得其解。
2.产生原因
经查阅,空隙产生的原因为: HTML中的换行符、空格符等空白符,在字体大小不为零的情况下,空白符会占有一定的宽度。在上述例子中,在行内块元素div之间有换行,且,默认字体大小不为零,所以,会产生空隙。
3.解决办法
通过空隙产生的原因,我们可以得出,若想消除空隙,方法有二:
1.去除换行符——即将所有的行内块元素div放到一行里面。
2.字体设置为0——将行内块元素div的父级元素的字体大小设置为0。
其他的解决办法:
3.行内块元素div设置浮动