相关疑难解决方法(0)

应该避免直接描述附加风格的css类名称如'floatleft'吗?

许多网站使用类的名称,如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>
Run Code Online (Sandbox Code Playgroud)

假设所有这些div需要清除浮点数,css看起来像:

div.foo, div.bar, div.foobar {
    clear:both;
}
Run Code Online (Sandbox Code Playgroud)

随着这些清算元素数量的增加,这开始变得丑陋 - 而单一的清算元素class="clearfloat"将起到同样的作用.是否建议根据附加的样式对元素进行分组以避免在CSS中重复,即使这意味着表示信息会蔓延到HTML中?


更新:感谢您的所有答案.普遍的共识似乎是避免这些类名称支持语义名称,或者至少在不妨碍维护的情况下谨慎使用它们.我认为重要的是布局的变化不应该要求对标记进行过多的更改(尽管有些人说如果使整体维护更容易,那么微小的改变是可以的).感谢那些建议其他方法来保持CSS代码更小的人.

html css presentation

51
推荐指数
7
解决办法
5794
查看次数

标签 统计

css ×1

html ×1

presentation ×1