2

我正在使用 XHTML(严格)创建网页 - 我还不能使用 HTML5。当我通过 CSS Lint 运行我的 CSS 代码时,我多次收到警告“不要在选择器中使用 ID”。

我不确定为什么会收到这些警告。我应该专门使用类而不是 id 吗?我很欣赏 HTML 5 可以选择使用语义标签,但现在我需要坚持使用 XHTML。任何人都可以帮忙吗?

4

2 回答 2

2

你完全可以使用 ID 而不是类。很多 HTML 验证器会告诉你不然,因为它们是由不喜欢它的人编写的。

这完全是一种风格偏好,而陈述通常是胡说八道。使用 ID 来设置 HTML 样式是完全有效的 CSS。

有关这方面的更多信息,请参阅CSS Lint 是有害的。

于 2014-11-10T09:19:41.837 回答
2

使用 ID 有一个非常严格的特异性问题。实际上,根据标准,您只能在任何给定的 HTML 文档中使用一次 ID。这并不意味着您不能将 ID 用作样式选择器,但它在大型项目中确实存在危险的陷阱。如果您将它们用作 Javascript 中的目标,它们很好。疯了。

CSS Lint 基本上告诉您 ID 选择器在定位元素方面非常非常具体,作为回报,您最终会在处理 CSS 特异性方面遇到问题。类选择器是可重用的,并且具有更宽松的特异性。CSS Lint 可能是有害的,但在许多专业开发人员的眼中,使用 ID 进行样式设置与类选择器没有什么不同,那么如果它们会导致特异性问题,为什么还要使用它们呢?阅读这个这个。它们都是关于为什么 ID 不适合 CSS 的精彩文章。这是个人喜好,但是,使您的 CSS非常具体是所有实际 Web 开发案例中的前端灾难。

于 2014-11-10T09:24:33.483 回答