【问题标题】:Creating new CSS class- and ID-names, making sure nothing breaks创建新的 CSS 类名和 ID 名,确保没有中断
【发布时间】:2012-07-11 21:10:22
【问题描述】:

我正在处理一些大型网络项目,并且正在使用许多 HTML ID 和类名。

当我在其中一个大型项目中创建新东西时,命名新 ID 和类可能会令人沮丧,因为我总是以 #subprojectname_title.subprojectname_editor 之类的东西结束,以确保我不会覆盖任何类和以前为“父”项目编写的 ID,并确保我不继承以前编写的样式。

每当我为该子项目创建新类或 id 时,我总是必须写 subprojectname,这很烦人。

我正在寻找有关如何使我的选择器更短的建议,而无需重置样式以确保我不会从以前的选择器继承,并且不会弄乱以前编写的样式(覆盖它们,更改它们的名称)。

【问题讨论】:

    标签: html css naming-conventions


    【解决方案1】:

    我的项目中有一个简单的解决方案。

    我对全局有效样式使用“唯一”名称,对局部范围使用“通用”名称。

    即我的 site.css 使用“defaultList”或“defaultWhiteButton”等名称,而我的 pageX.css 使用“list”和“button”。

    我从不将 ID 用于我的选择器,因为 ID 用于(在我的目的中)所有编程行为,而不是装饰。

    我只在我的 CSS 中使用类。

    我希望这会有所帮助。

    【讨论】:

    • 很好的答案,但恐怕站点范围的样式已经是“常用名称” - 例如“.ok”、“.error”、“.title”......跨度>
    • 为什么本地范围需要有特定的名称?它们不是只为那些特定页面加载的吗?即我的 Transactions.aspx 使用名称类名称作为 Deals.aspx,但每个都调用不同的 CSS(Transactions.css 和 Deals.css)。名称相同,但行为略有不同。
    • .title、.ok 等内容在所有页面中全局使用
    • - 而且,有时我的子项目也在全球范围内使用。
    • 那么可能是建议清理东西而不是在某些地方使用显式命名来使情况变得更糟?
    【解决方案2】:

    我通常会添加根类或 id 来区分项目/页面,而不是到处使用 .subproject_thingie1 和 .subproject_thingie2。

    这样,您可以在相同类名的所有页面上维护全局样式,同时能够为特定页面添加特定规则。

    但一如既往,最佳解决方案取决于现有项目的编写情况。

    【讨论】:

    • 我考虑过这一点,但是我必须摆脱所有我不需要的样式,这意味着编写不必要的 CSS 规则。
    • 如果不可避免,我宁愿有更多的样式规则而不是 html 中不合逻辑的不可维护命名。当然,我不知道这对你会有多糟糕。也许您现在考虑不包括原始样式表。
    • 原始样式表包含在母版页中
    猜你喜欢
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-06
    • 2011-08-06
    • 1970-01-01
    相关资源
    最近更新 更多