ID

从语义化角度来说,我们应该使用ID 当某个事物的实例只有一个。有多个的时候使用 class。

然而, ID 权重高于 class ,如果我们想覆盖它的样式可能会有问题。

证明一下这个问题,我们使用 ID 覆盖一个元素的颜色,从红色改为蓝色

下面是 HTML:

<div id="module" class="module-override">

CSS 如下:

#module {
  color: red;
}

.module-override {
  color: blue;
}

元素是红色的尽管class 用了蓝色去覆盖。让我们通过用 class 替换 ID ,来修复这个问题:

<div class="module module-override">

CSS 如下:

.module {
  color: red;
}

.module-override {
  color: blue;
}

现在,元素是蓝色的。问题解决了。

虽然使用 ID会导致一些问题,我们仍然可以把它用在其他方面。例如,我们需要用它来链接:

结语

在需要启用浏览器特殊行为和辅助技术的时候使用 ID。但是避免将它们用于作为调整样式的钩子。

章节

  1. 介绍
  2. 语义化
  3. 复用
  4. ID
  5. 约定
  6. 模块
  7. 状态
  8. 修饰器
  9. 版本
  10. Javascript
  11. 组织
  12. 问与答