你可以在CSS中使用不同元素类型的相同ID吗?

时间:2016-09-04 02:10:11

标签: javascript html css

我知道这是无效的HTML:

<p id="sally">paragraph</p>
<p id="sally">paragraph</p>

这也无效吗?

<div id="sally">
  <p id="sally">sally paragraph, inside of sally div</p>
  <p>paragraph with nothing special.</p>
</div>

等等

div.#sally{
  width: 90%;
  height: 3em;
  padding: 20px;
}
p.#sally{
  font-size: 1em;
  color: red;
}

3 个答案:

答案 0 :(得分:1)

  

我知道这是无效的HTML

正确

  

这也无效吗?

是。 ID必须在文档中是唯一的。文档中每种类型不唯一。

(这不会阻止浏览器错误恢复,有时会给你你想要达到的结果,但你不应该依赖它。)

  

等等

您无法使用.#.启动一个类选择器。 #启动ID选择器。

你可以拥有

div#sally { ... }
p#sally { ... }

然后有两个不同的文档,一个带有带有该ID的div,另一个带有带有该ID的段落,但两者都<link>到同一个样式表。

如果您想识别组中的两件事,那么请使用一个类。这就是上课的目的。

答案 1 :(得分:1)

不,它不起作用,因为这是ID的目的 - 在文档中是唯一的。他们提供了课程,因此你可以多次使用相同的风格。

答案 2 :(得分:0)

div#a {
  background-color: red;
}

span#a {
  background-color: lightblue;
}
<div id="a">Hello</div>
<span id="a">world</span>

我根本不推荐这个,因为类是一种更好的处理方式。但是,作为一个概念的证明,这确实可以用CSS来完成。