html - CSS flex 盒子和内部填充

标签 html css

我正在尝试仅将 内部 填充/间距添加到网格中相互 float 的三列。因此填充不会应用于第一列的左侧和最后一列的右侧。

下图展示了我正在努力实现的目标:

enter image description here

对于有两列的网格,我只是做了以下操作:

.grid .size-1of2 {
    width: 50%
}
.grid .column.size-1of2:first-of-type {
    padding: 0 5px 0 0;
}
.grid .column.size-1of2:last-of-type {
    padding: 0 0 0 5px;
}

它奏效了,因为列之间的空间是 10 像素!但是,现在当我尝试对具有 3、4 和 5 列的网格执行相同操作时。事情变得困惑和数学化!

这是我目前对三列网格的了解:

.grid .size-1of3 {
    width: 33.33333%
}
.grid .column.size-1of3 {
    padding: 0 4px 0 4px;
}
.grid .column.size-1of3:first-of-type {
    padding: 0 7.5px 0 0;
}
.grid .column.size-1of3:last-of-type {
    padding: 0 0 0 8.5px;
}

html 非常简单,注意:.column 是由下面描述的插件 (1) 生成的:

<div class="grid columns3">
   <div class"column size-1of3">
     <div></div>
   </div>
   <div class"column size-1of3">
     <div></div>
   </div>
   <div class"column size-1of3">
     <div></div>
   </div>
</div>

问题是: 解决这个问题的最佳方法是什么?在列之间有 10px 内部 gab 并保持一致列宽?

我正在使用这个插件 (1) 创建网格系统 http://savvior.org - 插件纯粹创建请求的列并对其中的元素进行平均排序。所以 padding 只是一个样式功能,插件没有,但我正在尝试实现。

现场测试站点:http://loai.directory/test-grid

最佳答案

你可以使用 flex-boxes , 这就是它们的意义!!

只需设置 .grid {display:flex ; flex 包装:nowrap

并查看神奇的 flex-box 属性;

另请阅读完整属性规范的文档。

关于html - CSS flex 盒子和内部填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28879850/

相关文章:

html - 带有 CSS 的可调整水平线。

html - Div Scroll 不显示所有包含的文本

javascript - 切换 div 可见性

javascript - HTML5 Canvas - 用剪辑删除后重新绘制新圆圈

css - AngularJS悬停效果使用动态颜色代码更改背景颜色

javascript - Skrollr 相对模式在 Chrome 或 Safari 中无法正常工作

javascript - 如何使用jquery访问 Canvas ?

html - 禁用 IE8 输入字段中的清除按钮

javascript - TinyMCE Editor - 如何通过 jQuery 访问自定义属性

Android HTML 类似于 TextView 中的 Textwrapping