选择器不是直接子元素

时间:2014-09-03 12:53:52

标签: html css

任何人都可以告诉我什么是选择器,用于查找父元素内的元素,但不是直接子元素。例如:

<body class="main">
  <p class="text">Hello</p> <!-- don't select this one -->
  <elem class="something">
    <elem id="link">
      <elem class="otherclass">
        <p class="text">Hello</p> <!-- but this one -->
      </elem>
    </elem>
  </elem>
</body>

所以我希望通过.text找到.main,而不知道其间和纯CSS的元素数量。

由于

3 个答案:

答案 0 :(得分:5)

您可以使用以下选择器:

.main > * .text

将选择.text后代的所有.main元素,但不选择直接子元素。

答案 1 :(得分:2)

以下内容将选择.text的所有.main

<强> CSS:

.main .text {
    background-color: red;
}

JSFiddle:http://jsfiddle.net/3f20ojt8/

答案 2 :(得分:1)

您可以简单地使用所有客户端元素:

.main .text
{
/*css*/
}

DEMO

为了避免后代元素(中间孩子)你应该在*之间添加*:

.main * .text
{
/*css*/
}

Featured DEMO