【发布时间】:2013-02-27 00:14:06
【问题描述】:
我的网站有一个网格系统,最初设置的样式应用于网格中的每六个项目
li:nth-child(5n+1){ margin-left:0 }
我正在使我的网站具有响应性,并且我在其中指定了一个断点
li:nth-child(3n+1){ margin-left:0 }
但问题是它仍然在解释以前的 5n+1 样式,这是我不想要的。我如何告诉 CSS 忽略该样式。或者更好的是,我如何创建一个流体网格,以便每当 li 项目是连续的第一个项目时,它的左边距为 0,而所有其他项目的边距为 25 像素?
【问题讨论】:
-
li { margin-left: 25px;} li:first-child { margin-left: }? -
不幸的是,无法设置新行中最先出现的浮动元素的样式。
:first-child只是在您的 html 代码中处理第一个子项,而不是在显示的行中。您是否尝试为:nth-child(5n+1)重置margin-left: 25px? -
您需要将该边距(可能作为负值)应用于父元素。看看 Twitter 是如何使用 Bootstrap 实现的。
-
ZURB/Foundation 做了同样的事情@isherwood 提到来处理它的 n-up 块网格。您对网格中的所有元素应用相同的边距/填充,然后用相等的负值偏移容器。边距,但实际的答案是你需要用特异性超过它......
-
@mheavers 这个演示可能会有所帮助:codepen.io/cimmanon/pen/dwbHi
标签: css responsive-design fluid-layout css-selectors