html - 在相邻元素之间添加边距而不向父容器添加内边距

标签 html css

好吧,我想不出一个好的方法来解释这个,所以这里有一张图片可能会有所帮助。

我有一个 3 列的行内 block 元素网格,它们之间需要有一个边距。但是,每行的第一个/第三个元素与父容器之间不应有边距。有没有一种巧妙的方法可以做到这一点,尤其是使用 CSS?我愿意接受任何可行的技术。

Marginz

HTML 基本上是这样的:

<section>
  <article class=“box”>
    <img class="thumb" src="img/image.jpg">
    <p>Name</p>
  </article>
  <article class=“box”>
    <img class="thumb" src="img/image.jpg">
    <p>Name</p>
  </article>
  <article class=“box”>
    <img class="thumb" src="img/image.jpg">
    <p>Name</p>
  </article>
</section>

最佳答案

您可以使用 nth-child伪类来选择第三个元素并删除边距,如:

.box {
    margin-right:10px;
}
.box:nth-child(3n) {
    margin-right:0px;
}

jsFiddle example

关于html - 在相邻元素之间添加边距而不向父容器添加内边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21324631/

相关文章:

javascript - 边框效果就像 Windows 10 中的 css3/html5

css - 如何应用自定义 css 将帖子拆分为多个页面

javascript - 单击链接时 jquery ui 对话框未在 html 中打开

html - 更改选择宽度以适合 div 容器

css - 第一个向右浮动的元素

javascript - 微调 megamenu 的 jQuery 要求

html - 移动 Safari 横向模式下的 CSS 渲染错误?

html - 如何导出我的书签并将它们导入到表格中?

html - 在响应式布局中调整大小时是否可以保持背景图像的纵横比?

javascript - 如何创建一个按钮来在表单中添加 URL 链接