我认为你正在向后看问题。如果所有这些类都具有与它们相关的相同CSS规则,那么您应该只在样式表中组合这些规则。不过,正如Jason McCreary所言,我认为最终你会发现,这会导致灵活性降低,工作量增加。
您的示例中列出的类可能来自某个UI框架,DOM树下面的元素将根据它们是否为具有特定类的元素的后代来进行样式设置,即。像这样的规则:
.ui-tablepicker td a {/* some style */}
但随后还会有其他的规则是这样的:
.ui-widget-content a {/*some other style*/}
如果你想这些类的名称结合起来,你会像这样结束:
.myCustomClass1 a {/* Replaces case where only .ui-tablepicker parent exists */}
.myCustomClass1 td a {/* Replaces case where only .ui-tablepicker parent exists */}
.myCustomClass2 a {/* Replaces case where only .ui-widget-content parent exists */}
.myCustomClass2 td a {/* Replaces case where only .ui-widget-content parent exists */}
.myCustomClass3 a {/* Replaces case where both exist */}
.myCustomClass3 td a {/* Replaces case where both exist */}
这是保持样式表可管理的类名的分离。
如果键入所有这些类反复越来越给你,然后使用一个变量来保存他们在您的网页生成的代码,类似:
<?
$myCustomClass = "ui-hidden-on-load ui-tablepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible";
?>
<div id="tp1" class="<? echo $myCustomClass; ?>">
...
<div id="tp2" class="<? echo $myCustomClass; ?>">
你为什么要凝聚所有的风格?保持它们分开允许更大的灵活性。 – 2010-11-03 15:35:37
我想将这些样式应用于我创建为表格选取器的div。为了使选取器正常工作,我需要始终拥有这些类。 – Griff 2010-11-03 15:44:26
这是一个非常好的问题:ui- *样式可能来自像Twitter引导程序这样的外部库,因此不能简单地将它们合并为一个。 – 2012-05-31 08:57:48