具有相同名称的CSS类和ID


69

具有相同名称的CSS类和ID有什么问题吗?就像.footer是文章/帖子的页脚,而#footer是页面页脚。

Answers:


93

不,完全可以接受。

使用定义类,使用.定义ID。#。因此,就浏览器而言,它们是两个完全独立的项目。

唯一要注意的是使自己产生混乱。纯粹为了保持代码的可读性,最好将名称保留为不同的名称,但是相同的名称不会有任何危害。


5
同上。使用HTML5时,某些元素将具有与页脚相同的名称。footer.footer#footer可能会造成混淆:)
FelipeAls 2010年

@Felipe-很快就会感到困惑!
whostolemyhat

从带有页脚的OP示例和您的简洁解释中,我的第一个想法就是针对这些新元素,但实际上应该相反:不再有div.footer和div#footer!在许多情况下footer,它们将被(以body>footer和定位section footer)替换,并且不再需要class和id。我的错。
FelipeAls

“。” (点)和“#”(哈希标签)是jQuery选择器(仅用于jQuery),这些标志与浏览器所知之间没有任何联系。
吉尔·艾普斯塔恩

@GilEpshtain不仅#是jQuery,还可以在URL中使用锚标记:stackoverflow.com/questions/3253775/…直接链接到您的评论
WOUNDEDStevenJones

13

不,没有错,但是最好使用不同的名称以免混淆其他开发人员。使用不同的名称更容易(人为)出错。



0

具有相同名称的类和ID的唯一问题是代码的可读性和可维护性。它们可以具有相同的名称,因为类和ID的标记不同(。代表类,#代表ID),浏览器将呈现正确的CSS,但是对于开发人员而言,升级或错误修复可能是一个问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.