【发布时间】:2019-08-13 06:15:00
【问题描述】:
我有以下 HTML 代码
<div class="our-services">
<h1 class="center-text">Our Services</h1>
<div class="service-box">
<h3 class="center-text">Service 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non.</p>
</div>
<div class="service-box">
<h3 class="center-text">Service 2</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non.</p>
</div>
<div class="service-box">
<h3 class="center-text">Service 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non.</p>
</div>
</div>
还有一个名为 service-box 的类,我用了 3 次。现在我希望margin-right 对于第三个服务框类应该为零。因此,我使用以下 CSS 代码:
.service-box:nth-child(4) {
margin-right: 0;
}
它工作正常。
但我的问题是为什么第 n 个值是 4 而不是 3?如果我使用 3 那么它不起作用,为什么?
更新:(不是重复问题)
我的问题是为什么我需要使用 4 而不是 3。正如我在此处看到的示例:https://www.w3schools.com/csSref/tryit.asp?filename=trycss3_nth-child
在此链接中,您可以看到如果要选择第二个 p 元素,则需要使用 p:nth-child(2),对吗?那么为什么我的代码不接受 3 呢?
【问题讨论】:
-
我的代码正在运行,但我想知道为什么它使用 4 而不是 3。
-
是的。我在小提琴中试了一下。这确实是很奇怪的行为。也许在您的帖子中添加一个小提琴??
-
@TVBZ '确实很奇怪的行为' ?不,这是预期的行为。请参阅下面的答案。另外,为什么在 SO 和在线上已经有很多答案的这个问题上有这么多的赞成票 + 文档对 nth-child 作品非常清楚