这个问题在某些项目中一直存在,我想看看是否有更好的解决方案。基本上,我正在尝试拥有一组 div 元素,它们之间具有相等的间距,但不是四周都有间距。下面的代码片段是我要寻找的示例,我希望有人能提供更简洁的解决方案。
我的问题是,是否有更好的解决方案,可以使用更少的 CSS 或 HTML 元素。需要维护以下重要事项:
- 本地化兼容 - 由于我们没有使用 margin-left 或 margin-right,在 rtl 中就不会出现任何奇怪的本地化问题。 - 对齐 - 如果不需要,它不应该调整为整个窗口大小,但如果需要,则应该换行。(请参见示例) - 间距 - 元素之间应该有固定的间距量。
如果您有任何想法,我很乐意听取!
我的问题是,是否有更好的解决方案,可以使用更少的 CSS 或 HTML 元素。需要维护以下重要事项:
- 本地化兼容 - 由于我们没有使用 margin-left 或 margin-right,在 rtl 中就不会出现任何奇怪的本地化问题。 - 对齐 - 如果不需要,它不应该调整为整个窗口大小,但如果需要,则应该换行。(请参见示例) - 间距 - 元素之间应该有固定的间距量。
如果您有任何想法,我很乐意听取!
body {
background-color: black;
padding: 30px;
}
.inner {
overflow: hidden;
margin: 20px 0px;
}
.innerMargin {
background-color: white;
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: -10px;
}
.innerMargin > div {
flex: 0 0 20px;
background-color: red;
margin: 10px;
height: 20px;
width: 20px;
}
.fixedWidth {
width: 180px;
}
<div class="inner">
<div class="innerMargin">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div class="inner fixedWidth">
<div class="innerMargin">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
margin:20px
,在外部元素上使用margin:-20px
,这样最左边和最右边的项目看起来紧贴着两侧。 - Chris Smith