我正在尋找人們處理不可避免的需要改變或以其他方式調整CSS類以適應新的HTML元素的策略。我經常在這種情況下發現自己,所以我希望其他人分享我的痛苦,並可以在這裏提出建議。如何處理需要更改CSS類名稱
想象一下,您有一個產品的表格,其語義類名稱很好products
。這是在你的樣式表中適當的樣式。幾個月後,老闆會要求您在網站上創建一個員工名單,「名稱與產品列表完全一樣」。
這立即引發了一個重要的問題:什麼叫新員工表。我能想到的唯一選擇是:
- 給它的類名
products
以及。這是最快的解決方案,但是破壞了語義。命名對於未來的開發者尤其沒有多大意義。 - 將類名更改爲可包含產品和員工列表的內容。這將否定標記與風格分離的效用,因爲HTML需要改變。此外,我想不出一個非表象類別的名稱,可以想象應用於產品和的員工名單。
- 引入一個新的類名並編輯CSS文件,使得
.products { ... }
變成.products, .staff { ... }
和.products thead th.number { font-weight: bold }
變成.products thead th.number, .staff thead th.number { font-weight: bold }
等。另一種醜陋的解決方案隨着時間的流逝只會變得更加複雜。
這裏採取的最佳行動方案是什麼?
N.B.我相信這個問題很容易用像LESS這樣的框架解決(我沒有親自使用它),但是這個解決方案更多的是作爲'掩飾'而不是實際的補救措施。
啊,那是我無法想起的第四種選擇!這不是我特別喜歡的解決方案。它打破了DRY原則,並且再次否定了分離內容和樣式所帶來的好處。然而現在它是最有吸引力的解決方案... – 2012-02-22 17:06:33
這也是一個更多未來的證明。 – 2012-02-22 17:07:40