ID和类之间的区别

2 html css

我正在浏览CSS:Class和ID.当我尝试他们给出的例子时,我不会觉得它们之间存在任何差异.

<!DOCTYPE html>
<html>
<head>
<style>
#para1
{
text-align:center;
color:red;
} 
</style>
</head>

<body>
<h1 id ="para1">Hai</h1>
<p id="para1">Hello World!</p>
<p>This paragraph is not affected by the style.</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

给我输出我想要的地方说id选择器用于指定单个唯一元素的样式.

我是以错误的角度看待这个吗?

Gra*_*mas 7

一个唯一标识,另一个分类.

在第一种情况下,将两件事称为同一件事是无稽之谈.

在第二种情况下,通常希望为一组事物提供相同的外观和感觉.

在CSS的上下文中,您应该只依赖于类.CSS的验证器应该不使用id来应用样式.您仍然可以定义仅由一个不同元素使用的唯一样式.


Bar*_*ney 6

首先,w3schools是一个可怕的资源.它写得很糟,杂乱无章,而且经常误导.你应该在Mozilla开发者网络上使用这个更好的资源集(它开始实现同样的目的).

您的示例根本不使用类.您有CSS调用ID,以及2个带有该ID的HTML元素(您不应该这样做 - ID应该是唯一的!).2之间的关键区别:

  1. ID引用唯一元素.任何1个ID应该只有1个实例.类可以被应用于许多元件和元件可以有多个classES
  2. 使用ID的CSS规则将覆盖带有类的CSS规则,如果它们都尝试分配相同的属性.
  3. ID用于各种本机应用程序:锚引用,表单,iframe,而类仅用于CSS样式.

我修改了你的代码作为这些点的一个例子.以下是使用类进行参考的一些代码:

.paragraph {
    font-style: italic;
    color: green;
}
Run Code Online (Sandbox Code Playgroud)

和HTML:

<p id="para1" class="paragraph">Blah blah blah</p>
Run Code Online (Sandbox Code Playgroud)