我正在使用 XHTML(严格)创建网页 - 我还不能使用 HTML5。当我通过 CSS Lint 运行我的 CSS 代码时,我多次收到警告“不要在选择器中使用 ID”。
我不确定为什么会收到这些警告。我应该专门使用类而不是 id 吗?我很欣赏 HTML 5 可以选择使用语义标签,但现在我需要坚持使用 XHTML。任何人都可以帮忙吗?
你完全可以使用 ID 而不是类。很多 HTML 验证器会告诉你不然,因为它们是由不喜欢它的人编写的。
这完全是一种风格偏好,而陈述通常是胡说八道。使用 ID 来设置 HTML 样式是完全有效的 CSS。
有关这方面的更多信息,请参阅CSS Lint 是有害的。
使用 ID 有一个非常严格的特异性问题。实际上,根据标准,您只能在任何给定的 HTML 文档中使用一次 ID。这并不意味着您不能将 ID 用作样式选择器,但它在大型项目中确实存在危险的陷阱。如果您将它们用作 Javascript 中的目标,它们很好。疯了。
CSS Lint 基本上告诉您 ID 选择器在定位元素方面非常非常具体,作为回报,您最终会在处理 CSS 特异性方面遇到问题。类选择器是可重用的,并且具有更宽松的特异性。CSS Lint 可能是有害的,但在许多专业开发人员的眼中,使用 ID 进行样式设置与类选择器没有什么不同,那么如果它们会导致特异性问题,为什么还要使用它们呢?阅读这个和这个。它们都是关于为什么 ID 不适合 CSS 的精彩文章。这是个人喜好,但是,使您的 CSS非常具体是所有实际 Web 开发案例中的前端灾难。