就像填充一样。 margin: 10px;
例如。
请注意,边距也需要计算到元素的宽度中。所以我建议给 % 边距,然后确保你的边距总百分比加上你的宽度 = 100%。
你可以做类似...
.contained {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 45%;
margin: 2.5%;
float: left;
padding: 10px;
}
这是因为 (2.5left + 2.5right) * 2 个框 = 10% 总边距空间...然后 10% + 45% 每个框是 10% + 90% = 100%
JS小提琴
在评论中回复您的问题:
因为你的容器有一定的宽度,不管那个宽度是多少,里面只能装这么多。CSS 的编码方式,任何元素的“总”宽度包括其定义的宽度、任何边框空间、填充和边距。这是任何元素操作的默认方式。在上面的代码中,你有 box-sizing:border-box。这告诉浏览器计算“宽度”属性,包括填充和边框。不幸的是,没有包含边距空间的代码。
所以想象它是这样的。您有一个可以容纳 100 100 个球的盒子,并且仍然关闭盒子的盖子。如果你有 101 个球,盖子不会关闭。所以假设你想在盒子里放 50 个蓝球和 50 个红球。您仍然可以关闭盖子,因为您没有超过 100 个球的限制。现在假设您想要在 50 个红球和 50 个蓝球之间留出一定的空间。让我们想象这个空间只是空的“空气”,但实际上,空气实际上也占据了空间。因此,为了在两组球之间放置 10 个“球单元”的空气“空间”,需要发生以下两件事之一,以便仍然关闭盒子的盖子。
您可以将盒子扩大 10 个单位,总共 110 个“球单位” - 50 个用于红球,50 个用于蓝球,10 个用于分隔两组的空气。或者,您可以移除一些已经在容器内的球,以适应 10 个“球单元”的空气。所以你可以有 45 个蓝色球、45 个红色球和 10 个空气单位 = 100,然后合上盒子上的盖子。只要红球、蓝球和空气的数量等于您的盒子最多 100 个球单位,那么它们就可以装下并且您可以合上盖子。可以使用任何组合。例如,您可以在每组之后有 10 个红球、10 个蓝球、10 个绿球、10 个黄球和 10 个紫球和 10 个空气单位。那是...
10red + 10air + 10blue + 10air + 10green + 10air + 10yellow + 10 air + 10purple + 10 air
10+10+10+10+10+10+10+10+10+10 = 100
现在...也就是说,如果您没有使用过,box-sizing: border-box;
那么您还必须在计算中包括填充和边框以及边距。