css - 使 div 的宽度为 20%,每个 div 之间有填充,但不在第一个的左侧或最后一个的右侧

标签 css multiple-columns css-selectors

假设我要构建这个布局:

假设文本和网格位于同一个 div 内,因此共享约 990px​​ 的宽度,我如何动态地使该网格具有等宽的列,而不具有固定宽度?

我可以将每个 div 设置为 width:20%,但随后它们会直接彼此相邻排列,而不是间隔开。 http://jsfiddle.net/97H3P/

我可以将每个 div 设置为 width: 20%box-sizing: border-boxpadding: 0 20px,但是线条的边缘与第一个和最后一个 div 的边缘之间会有 20px 的间隙。 http://jsfiddle.net/97H3P/1/

我可以将每个 div 设置为 box-sizing: border-box;width: 20%padding- right: 20px,然后在第 5 个 div 上设置 padding-right: 0;,但是第五个 div 比其他 div 宽。 http://jsfiddle.net/97H3P/2/

我可以将每行的前四个 div 设置为 box-sizing: border-box;width:20.8%,第五个是 width: 16.8%,然后是 padding-right: 20px 到所有这些,但这个数学运算只能在 990px​​ 宽度下进行。 http://jsfiddle.net/97H3P/3/

有更好的方法吗?我找不到任何优雅的解决方案。

谢谢。

更新:有几分钟的时间,我对 CSS3 的 column-count 功能很感兴趣,但后来我意识到它只执行从上到下的操作,而不是从左到右的操作,这就是我需要此排序的方式.

最佳答案

Here's我快速绘制了一个非 Boostrap 示例。

即使它使用 Bootstrap 类。

这个技巧是通过使用 position:relativebox-sizing: border-box

来实现的

它也有一定的响应能力。

关于css - 使 div 的宽度为 20%,每个 div 之间有填充,但不在第一个的左侧或最后一个的右侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25088133/

相关文章:

CSS 字体在 IE7 和 IE8 中显示不同?

html - Flex Box 媒体查询难​​度

css - 多列 CSS 最小高度 100%

python - PANDAS 中高效的列索引和选择

css - jmeter 在提供正确的 css 选择器后出错

css - 将 "empty"参数传递给 SASS mixin,以便使用默认参数

c - C语言合并一行中的两个特定列

javascript - 当您悬停 .container 时,它会改变两者的颜色。但我只想更改鼠标所在的容器

html - Css Nth-Child 选择器未选择预期的元素

html - 选择下拉内联标签文本