我看着這個presentation about object oriented css,但我想我要麼不正確理解或不理解使用OO CSS的好處:面向對象的CSS
示例HTML:
<div class="border-1 bg-2 color-1 font-1">
</div>
範例CSS :
/* borders */
.border-1 { border: 1px solid red; }
/* backgrounds: */
.bg-2 { background: yellow; }
/* other sections */
我看到了能夠快速更改多個元素的樣式的優勢,例如,能夠切換顏色方案將非常有用。
但實際上,您正在定義HTML內的樣式/外觀,或至少是其中的一部分。當然,它比使用style
屬性更好,因爲您仍然可以交換一組組的樣式。關鍵是,您正在定義HTML內的樣式組,但我知道您應該在HTML內部創建「邏輯」組(例如class="nav-item"
/class="btn submit-btn"
),並且CSS完全應用樣式並定義哪些組件從「文體」的角度來看屬於一起(例如.nav-item, .submit-btn { background: red; }
)。
也許我完全誤解了這個概念。但是,我仍然不知道構建CSS的好方法。
@madr,你嘗試[更少](http://lesscss.org/)或[薩斯](HTTP:/ /sass-lang.com/)?它們比解決這個問題要好得多,而不是試圖將面向對象的東西變成一個永遠不會面向對象的東西。 –
@asbjomu因爲沒有理由不這樣做,所以我將預處理器與OOCSS結合起來,從兩者中獲得最佳效果。我的團隊對這份工作協議感到非常滿意。 – madr
@AsbjørnUlsberg,談到我的經驗,對於不熟悉OOCSS的移動到scss/sass的用戶界面開發人員來說,這將是一件非常不好的事情,主要原因是OOCSS讓開發人員在抽象某個部分CSS作爲一個獨立的組件,如果你不問自己這個問題作爲一個CSS開發人員,那麼轉到SCSS不會對這個人有任何好處!這個原因本身可以節省大量的代碼膨脹! –