许多网站使用类名,如, , ,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 代码更小的人。