我正在开发一个项目,开发团队已将其图形工作外包给第三方。第三方开发的CSS文件中填充了代码,允许开发人员使用HTML类将单个CSS声明分配给HTML元素。
例如:
.padding-bottom-10 {
padding-bottom: 10px;
}
我有两个问题:
答案 0 :(得分:1)
使用班级选择器时,您必须了解the spec中的以下注释:
因为CSS为"类提供了相当大的力量。属性,作者 可以设想他们自己的文档语言"基于 几乎没有关联演示的元素(如DIV和SPAN) 在HTML中)并通过"类"分配样式信息。 属性。作者应该从结构上避免这种做法 文档语言的元素通常已被认可和接受 意义和作者定义的类可能不会。
但是,滥用课程选择器很常见。
答案 1 :(得分:0)
这是OOCSS方法中的修饰语。
它促进了DRY软件开发的原则。正确应用后,它可以提高可维护性,因为特定的属性 - 值对不会在代码的其他部分重复。
但是,您的示例命名相当差。 padding-bottom-small
或padding-bottom-med
将是一种改进,更具有前瞻性,因为给定的常量值可能会在某个时间发生变化,而名称中的常量将不再准确。
在向标记添加非语义类名称确实存在缺陷,这使得HTML难以维护。 DRY的好处通常会超过这个缺点。此外,预处理器允许纯粹在CSS中进行OOCSS开发(例如使用Sass' @extend
directive和Less' :extend
pseudo-class),而不会使用非语义类名称污染标记。 / p>
这只是编写高效CSS的范例的一部分。它是否最适合您的用例归结为应用程序需求和开发人员的需求。偏好。
答案 2 :(得分:0)
为什么不呢?如果您将您的网页定位到非常老的IE延迟版本中,那么使用它们有时候是不必要的。例如,IE 6不知道直接子选择器(>),7和8仍然不知道:最后一个孩子和更多......
答案 3 :(得分:0)
如果要在很多元素上使用多个定义一个东西的类,那么我们也可以将时间扭曲回到90s并开始使用<font face="sans-serif" color="red" size="4"><b><u><i>A bit of text and stuff</i></u></b></font>
,因为重新定位一个站点甚至一部分需要时间如果使用适当的课程,可以更好地用于喝啤酒。