您可以使用CSS在ID中定位ID吗?

时间:2013-08-08 18:40:12

标签: html css css-selectors

我的示例将在HTML文件中,表示您无权访问更改 - 仅通过样式表访问CSS。你能否在一个ID中定位一个与你的Classes相同的ID?

#id1 #id2 {styles...}

类似于你使用CSS的方式:

.class1 .class2 {styles...}

我可能只是在这里遇到一个大脑失败。

7 个答案:

答案 0 :(得分:18)

是的,就像这样:

#one #two {
    color: purple;
}

将选择:

<div id="one">
    <div id="two"></div>
</div>

这实际上没有必要,因为每个页面只应该有一个同名的id,所以选择器#two {}本身就没问题。

答案 1 :(得分:5)

是的,你可以这样做;它完全有效。但它通常也毫无意义,因为ID必须在页面中是唯一的,所以只选择单个ID应该总是足以精确选择你想要的元素;你不应该需要任何额外的父选择器来限定它,无论是另一个ID,还是其他类别。

我可以看到一个用例,其中你有一个动态ID的元素在页面中出现的地方出于某种原因可能出现在不同的位置,你希望它看起来不同根据哪里它出现在页面中。

为此,拥有#id1 #id2选择器可能是有效的。但它可能是一个相当罕见的用例,即使对于这种用法,类可能是更合适的工具。

答案 2 :(得分:2)

#id1 #id2 {

}

这将定位#id2

中的所有#id1

演示: http://jsfiddle.net/DcDqa/

答案 3 :(得分:1)

是。您可以在任何您喜欢的选择器之间放置组合器。

答案 4 :(得分:0)

#first #second{
 color: #000080;
}

<div id="first">
  <p id="second">This is text and will be dark blue</p>
</div>

答案 5 :(得分:0)

是的,你可以

#id1 #id2 {
    height:200;
}

也类似

  .class1 #id1 {
    height:200;
  }

  .class1 input[type="radio"] {
    border: 1px solid #ccc;
  }

  h1, p{
  }

答案 6 :(得分:0)

动态创建的给定元素可能需要 ID 才能支持某些功能。但是,当同一个元素存在于另一个元素中时,它可能需要与存在于另一个元素中时不同的属性。因此,在某些情况下,在另一个选择器中使用 ID 选择器的想法可能是有意义的。