我認爲你正在向後看問題。如果所有這些類都具有與它們相關的相同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