【发布时间】:2011-12-23 11:22:59
【问题描述】:
我正在努力研究如何使我的 CSS 与我的 HTML 尽可能分离。做到这一点的方法是以标准方式在 HTML 中编写基本布局元素,以便不同的 CSS 文件可以在没有看到的情况下准确地知道它正在使用的标记的外观。
所以我想知道是否有一套标准来说明您应该如何命名布局元素以及放置它们的顺序。例如标记我的页面的明智方法如下(请注意,我使用的是 HTML5 元素并遵循the theory that you should never use IDs for CSS rules):
<body>
<div class="container"> <!-- central "squeeze" for the content -->
<header>
<img class="logo" />
<nav class="primary"></nav> <!-- main navigation -->
</header>
<aside class="pre"></aside> <!-- left column -->
<article class="main"></article> <!-- central main content -->
<aside class="post"></aside> <!-- right column -->
</div>
</body>
许多页面使用类似于此基本布局的内容。但正如您所见,“容器”或“主”类的名称会有很大差异,对于列使用 <aside> 也是如此。此外,排序可能存在差异,例如有些人会将<nav> 元素放在<header> 之后而不是在其中,或者将列元素放在<article> 元素中。
有谁知道为标准化这些常用布局元素的排序和命名所做的任何工作?比如微格式之类的?
【问题讨论】:
-
对于类名没有硬性规定或普遍接受的标准,这里也没有使用任何微格式。只做最适合您网站的事情,不要害怕将 ID 用于 CSS - 他们将 ID 选择器放入语言中是有原因的。
-
从不使用ID的理论:github.com/stubbornella/csslint/wiki/Disallow-IDs-in-selectors; oli.jp/2011/ids; screwlewse.com/2010/07/dont-use-id-selectors-in-css。这是一些非常了解在大型项目中使用 CSS 的人所写的非常合理的理论。我个人绝对同意。
-
很多其他smart people 不同意。
-
我很好奇为什么您在 cmets 中发布了完整的 URL,但将其中一个隐藏在您帖子正文中的短 URL 后面……评论长度有限制,但问题和答案没有限制。只是我觉得很奇怪。
-
@Chris Fletcher:除了这是一个脚本问题,而不是 CSS 问题......
标签: html css standards microformats