【问题标题】:Select a tag after an nth-child [closed]在第n个孩子之后选择一个标签[关闭]
【发布时间】:2016-10-02 07:53:27
【问题描述】:

如何使用 CSS 选择给定 :nth-child() 之后的元素?

div:nth-child(1) + p { font-size: 40pt; }

不适合我,我很困惑。

https://jsfiddle.net/3mfygmjj/1/

【问题讨论】:

  • + p == 下一个,> p == 直接后代
  • 这真的取决于你的 HTML 的结构。你试过div:nth-child(3) p吗?
  • 您也可以发布您的标记吗?
  • 您的代码所做的是选择一个p,它是第三个div 元素的子元素。选择哪个p 取决于您的选择器。
  • 您可能应该花点时间阅读 W3 联盟关于 Selectors Level 3 的文档。

标签: html css css-selectors


【解决方案1】:
div:nth-child(3) > p { font-size: 40pt; }

将选择 div:nth-child(3) 中的每个 p 标签作为直接后代。

div:nth-child(3) p { font-size: 40pt; }

将选择 div:nth-child(3) 中的每个 p 标签,即使嵌套在 dom 深处的多个级别。在这种情况下, div:nth-child(3) 和 p 之间的空格是重要字符。

div:nth-child(3) + p { font-size: 40pt; }

将选择一个 p 标签,它是 div:nth-child(3) 之后的第一个元素,位于同一 dom 级别(不在其他元素内)。

div:nth-child(3) ~ p { font-size: 40pt; }

将选择 每个在同一 dom 级别的 div:nth-child(3) 之后的 p 标签。

【讨论】:

  • 好的@Michael_B,我做到了。
【解决方案2】:

如果要选择nth-child(3)之后的那一项,为什么不选择nth-child(4)呢? 之后直接为孩子尝试nth-child(3) + div。 之后为每个孩子尝试nht-child(3) ~ div

更多关于粉碎杂志:https://www.smashingmagazine.com/2009/08/taming-advanced-css-selectors/#2-child-selector

【讨论】:

  • 我试过这个,但不知道我做错了什么。 jsfiddle.net/3mfygmjj/1
  • 您正在使用相邻兄弟 (+) 选择器,但您想进入:jsfiddle.net/gp44zspr
  • 是的,谢谢。但我只需要第一个直接的,所以 + 不起作用。我需要进去选择第一个或第n个孩子,thx div:nth-child(1) > p:first-child { font-size: 40pt; }
猜你喜欢
  • 1970-01-01
  • 2012-06-13
  • 2013-10-22
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 1970-01-01
相关资源
最近更新 更多