Html 为什么块元素之间有空格?

Html 为什么块元素之间有空格?,html,css,Html,Css,所以我知道会发生这种情况,我知道解决办法(大多数时候我只是使用float),但我的问题是为什么要有一个开始的空间? 这是我正在摆弄的小提琴: 如果将.box更改为浮动:左空间消失了。首先,我很好奇为什么会有空格。看看这个修订版:注意,我已经删除了HTML中元素之间的空格。之所以存在空格,是因为HTML和内联元素中存在空格,并且包含内联块元素。通过浮动元素,您已经将其从内联元素更改为块 <div id="manufactureLogos"> <div class="box

所以我知道会发生这种情况,我知道解决办法(大多数时候我只是使用float),但我的问题是为什么要有一个开始的空间?

这是我正在摆弄的小提琴:

如果将
.box
更改为
浮动:左空间消失了。首先,我很好奇为什么会有空格。

看看这个修订版:注意,我已经删除了HTML中元素之间的空格。之所以存在
空格
,是因为HTML和
内联
元素中存在空格,并且包含
内联块
元素。通过浮动元素,您已经将其从
内联
元素更改为

<div id="manufactureLogos">
    <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
</div>

看看这个修订版:注意我已经删除了HTML中元素之间的空格。之所以存在
空格
,是因为HTML和
内联
元素中存在空格,并且包含
内联块
元素。通过浮动元素,您已经将其从
内联
元素更改为

<div id="manufactureLogos">
    <div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div>
</div>

之所以有空格,是因为内联块元素被视为普通文本,即它们有空格。一些解决方法包括在容器上使用
font-size:0
,然后在内联块元素上重置字体大小;使用负边距折叠空间;或者通过修改HTML来删除空白


有一篇关于这个主题的便利文章。

之所以有空格,是因为内联块元素被视为普通文本,因为它们有空格。一些解决方法包括在容器上使用
font-size:0
,然后在内联块元素上重置字体大小;使用负边距折叠空间;或者通过修改HTML来删除空白


有一篇关于该主题的便利文章。

解决此问题的最佳方法是在#manufactureLogos中将字体大小设置为0

#manufactureLogos {
    width: 850px;
    font-size: 0;
}
.box {
    background: gray;
    width: 140px;
    height: 140px;
    padding: 0px 15px;
    font-size: 16px;
}
您还应该在.box中设置字体大小,这样就可以了

#manufactureLogos {
    width: 850px;
    font-size: 0;
}
.box {
    background: gray;
    width: 140px;
    height: 140px;
    padding: 0px 15px;
    font-size: 16px;
}
也许这个链接会帮助你,它有更多的细节


希望这将帮助您……

解决此问题的最佳方法是在#manufactureLogos中将字体大小设置为0,因此情况如下

#manufactureLogos {
    width: 850px;
    font-size: 0;
}
.box {
    background: gray;
    width: 140px;
    height: 140px;
    padding: 0px 15px;
    font-size: 16px;
}
您还应该在.box中设置字体大小,这样就可以了

#manufactureLogos {
    width: 850px;
    font-size: 0;
}
.box {
    background: gray;
    width: 140px;
    height: 140px;
    padding: 0px 15px;
    font-size: 16px;
}
也许这个链接会帮助你,它有更多的细节

希望这将帮助您……

您可以添加

    margin: -2px;
#manufactureLogos div{}
了解一个简单的CSS技巧,以清除空格和换行符生成的空白,并保存代码语法

#manufactureLogos div{
    display: inline-block;
    margin: -2px;
}
但这仅假设空白的默认字符大小占用2个浏览器像素

双重保险将使用aaron的方法,并且默认字体大小为0

#manufactureLogos div{
    display: inline-block;
    margin: -2px;
    font-size: 0;
}
或者正如arronburows提到的,您可以设置容器
font size:0,也有效地删除了whtie空间

您可以添加

    margin: -2px;
#manufactureLogos div{}
了解一个简单的CSS技巧,以清除空格和换行符生成的空白,并保存代码语法

#manufactureLogos div{
    display: inline-block;
    margin: -2px;
}
但这仅假设空白的默认字符大小占用2个浏览器像素

双重保险将使用aaron的方法,并且默认字体大小为0

#manufactureLogos div{
    display: inline-block;
    margin: -2px;
    font-size: 0;
}

或者正如arronburows提到的,您可以设置容器
font size:0,也有效地删除了whtie空间

因为两个分区之间有空格。把它们放在一行,因为两个div之间有空格。将它们放在一行仅回答问题,但正如您所知,有比将元素粉碎在一起更好的解决方法,这样您就不必将所有标记串在一起。只需回答问题,但正如您所知,有更好的方法来解决这个问题,而不是将元素粉碎在一起。您可以通过设置
字体大小:0,这样就不必将所有标记串在一起。