我有一个班级.side-box { margin: 0 10px 10px 0; }
,我要做的是定位DOM中的最后一个.side-box
并使用 no jquery margin-right: 0;应用于它>和没有额外的课程来覆盖margin-right
。通过这种方式,我只有padding: 10px;
包裹三个方框。
我试过了:
.side-box:nth-child(2) {
margin-right: 0;
}
和
.sidebars:last-child {
margin-right: 0;
}
但没有奏效。我究竟做错了什么?感谢。
FIDDLE HERE :http://jsfiddle.net/qL7wx5pp/
答案 0 :(得分:1)
你几乎得到了它。您想要选择最后一个markdown.replace ( /(\#+) *( +)/ig, "<h?>$2</hr?>");
,然后在里面找到sidebars
。像这样:
side-box
答案 1 :(得分:1)
如果您阅读about last-child
here,则说:
:last-child选择器匹配最后一个子元素的每个元素 其父母。
我已突出显示其父级的最后一个孩子,因为这是导致您出现问题的原因。
您尚未将保证金应用于sidebars
,而是应用于side-box
所以这不会做你想要的。
.sidebars:last-child {
margin-right: 0;
}
现在要定位正确的side-box
,您需要了解DOM的结构。
您的父母wrapper
有3个孩子sidebars
要定位最后一个side-box
,您需要定位最后一个sidebars
因此选择sidebars:last-child
是正确的目标div。但是需要在side-box
div上重置边距,该div再次成为上一个sidebars
div的子项
所以正确的选择器是:
sidebars:last-child > side-box
side-box
这是最后一个孩子sidebars
的孩子。请参阅演示here