floatleft
,clearfloat
,alignright
,small
,center
等来描述与类关联的样式。这似乎是有道理的,因此在编写新内容时,您可以轻松地将(例如)<div class="clearfloat">...</div>
包装在您的元素周围,使其按照您想要的方式工作。我的问题是,这种类命名风格是否违反了将内容与呈现分离的思想?在元素上放置
class="floatleft"
显然会将呈现信息放入HTML文档中。这种直接描述已关联样式的类名应该避免使用,如果需要,有什么替代方案吗?
澄清一下,这不仅仅是一个关于如何命名类的问题。例如,语义准确的文档可能看起来像:
<div class="foo">Some info about foo</div>
...
<div class="bar">Info about unrelated topic bar</div>
...
<div class="foobar">Another unrelated topic</div>
假设所有这些div都需要清除浮动,CSS代码将如下:
div.foo, div.bar, div.foobar {
clear:both;
}
随着这些清除元素数量的增加,情况开始变得混乱不堪——虽然单个 class="clearfloat"
可以实现相同的目的。是否建议根据已附加的样式将元素分组,以避免在 CSS 中重复,即使这意味着演示信息会渗入 HTML?
更新:感谢所有的答案。普遍共识似乎是避免使用这些类名,而是使用语义化名称,或者至少适度使用它们,前提是它们不会妨碍维护。我认为重要的是,布局的更改不应该需要过多地更改标记(尽管有一些人说如果这样做可以使整体维护更轻松,则可以进行小的更改)。感谢那些建议其他方法来减小 CSS 代码的人。