有没有办法将ids和类与>混合?在CSS中

时间:2011-07-27 20:03:19

标签: css css-selectors

我想做的是:

#div_id > .some_class 
{
}

我不想在任何地方改变课程。我只想改变那个特殊div中的类。

还有其他方法可以做同样的事情吗?

4 个答案:

答案 0 :(得分:1)

您的问题已包含child combinator CSS选择器,并将定位具有.some_class的元素div_id的元素,这些元素是 children ,其元素为<div>,因此,如果您只有一个div_id的ID为some_class,那么它定位具有类body > p的子元素。所以它应该像预期的那样工作,除了IE6当然不支持该选择器本身。

如果您想选择孙子女,请使用descendant combinator

  • 儿童组合子body p
  • 后裔组合{{1}}

答案 1 :(得分:1)

你自己已经偶然发现了答案:

#div_id > .class {
    /* CSS magic */
}

如果它是.class直接后代,则会选择#div_id。对于所有后代而言,无论深度如何,请改用选择器#div_id .class

另见this JSFiddle

答案 2 :(得分:0)

你基本上有答案。如果要在div中修改所有类,则选择器将为div#id .this_class。如果它只是div中的一个类的实例(假设你有div称为'test',其中三个div的类为'test_class',那么你可以使用:nth-child()选择器或:first-of-type选择器。

答案 3 :(得分:0)

您的代码对我来说很好。注意,&gt;经营者只会影响DIV的子女而不是任何较低的后代(即孙子女)。删除&gt;使用.some_class类来影响DIV中的所有内容。