1. 程式人生 > >元件化學習總結三——css設計

元件化學習總結三——css設計

css模組化設計(精練的)

1.設計原則

(1)可複用能繼承要完整

 1.可複用:樣式看起來能不能複用,系統是否有很多的地方

 2.能繼承:這個模組寫完了,有a b c 的樣式,下一個模組用的是,可以用 a b c,還有可以覆蓋掉某一個

 3.要完成:不能只去寫樣式去抽出來,這樣太小了,需要看看是否有互動,等等,要完整性

(2)週期性迭代

1.優秀的程式碼是模仿出來的

2.優秀的程式碼是設計出來的

3.優秀的程式碼是重構出來的

需求在變,產品在變,是不是模組化是不是有不合理的部分,這樣需要不斷開發的過程中,不斷去迭代,

2.設計方法

(1)先整體後部分再顆粒化

 1.佈局級別:先看大局(譬如移動端的佈局,是怎麼去佈局,用這個佈局去抽象出來幾個模組)

 2.頁面級別:頁面頁面之間的關聯關係,譬如頁面之間有公共的樣式,這個時候佈局模組裡面的某一個樣式

3.功能級別:譬如很多頁面都有這個按鈕,但是按鈕的文字以及功能是不一樣的,這個時候可以站在一個大的角度去思考問題,

寫一個比較基礎的按鈕,通過繼承,重寫等方式去實現不同的按鈕,那麼這個基礎的按鈕就是一個功能元件了

4.業務級別:譬如頁面中返回按鈕,這個按鈕通過繼承功能按鈕,就可以變成一個業務元件了

從上面看的出來是通過大到小的一個思路去寫這個樣式的

(2)先抽象再具體

譬如很多頁面,有很多的模組,但是某一個模組其實是不一樣的,這個時候不要具體去看不同的,而是把這些都看成相同的東西,只不過隱藏,或者增加了某一些模組的東西,這就是就可以抽離出一個元件了,然後這個元件是通過繼承,重寫,配置等等,實現成具體的某一個模組,這就是先抽象再具體的原理了、

3.程式碼實現

說了上面這麼多,具體的實現是怎麼樣的

(1)基礎樣式

 reset.css layout.css element.css

這個三個樣式,第一個是很普遍的樣式,就是消除元素的一些樣式,第二個是佈局樣式,這個樣式的話是寫頁面的佈局的樣式

第三個樣式是功能樣式,譬如一個功能按鈕的樣式

(2)具體引用

 寫好以上的樣式的話,我們通過引入有兩種方式

1.global:普遍的引入方式

<style lang="scss">

@import "../element.css"

</style>

2.scope: 這種是為了防止相同名稱,但是保證樣式不一樣的情況下選用的方式

<style lang="scss" module>

@import "../element.css"

</style>

以上是基本的原理說明,下面會貼出程式碼,以及編寫的思路

1.佈局樣式


2.功能樣式。這裡有三個:一個按鈕,一個列表,一個面板


以上就是樣式的部分,樣式總結完了,接下來是總結js的寫法了