【问题标题】:CSS class and id with the same nameCSS类和id同名
【发布时间】:2011-03-16 06:57:40
【问题描述】:

css 类和 id 同名有什么问题吗?比如文章/帖子页脚的 .footer 和页面页脚的 #footer。

【问题讨论】:

    标签: css class


    【解决方案1】:

    不,完全可以接受。

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

    唯一需要注意的是给自己造成任何混乱。纯粹为了代码的可读性而保持名称不同可能是最佳做法,但它们保持相同并没有什么坏处。

    【讨论】:

    • 同上。在 HTML5 中,一些元素将具有相同的名称,例如页脚。 footer.footer#footer 可能会让人困惑 :)
    • @Felipe - 这很快就会让人困惑!
    • 从带有页脚的 OP 示例和您的简洁解释中,我首先想到的是这些新元素,但实际上应该相反:没有更多的 div.footer 和 div#footer!它们将被footer(例如body>footersection footer)取代,并且在许多情况下不再需要class 和id。我的错。
    • "。" (dot) 和 "#" (hash-tag) 是 jQuery 选择器(仅用于 jQuery),这些符号与浏览器所知道的没有任何联系。
    • @GilEpshtain # 不仅仅是 jQuery,可以在 URL 中使用锚标签:stackoverflow.com/questions/3253775/… 直接链接到您的评论
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      是的,您可以为 idclass 使用相同的名称,因为这两个参数都有自己的意义。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-04
          • 2017-12-17
          • 2012-07-11
          • 2010-11-02
          • 1970-01-01
          • 2012-03-01
          相关资源
          最近更新 更多