欄目級作用域──頁面重構中的模塊化設計(二)

在《 樣式的作用域──頁面重構中的模塊化設計(一) 》中,我將樣式的作用域分爲了三個部分:公共級(全局)、欄目級(局部公共)、頁面級。公共級(全局)容易理解,即影響站點中所有頁面。簡單解釋下欄目級(局部公共)和頁面級:

頁面級
可分爲兩種情況:在多個頁面間,頁面級作用域指針對某一單獨的頁面定義;在同一個頁面中,頁面級作用指針對某一標籤的定義。它將決定最終的頁面效果。
欄目級(局部公共)
介於全局與單個頁面之間的一個作用域,影響一個欄目(或某區域)。通常以某一類選擇符做爲開始,以包含選擇符的方式將樣式定義限定在某一區域中。

/* 隻影響demo這個區域 */
.demo a{...}
.demo p{...}
.demo .title{...}

需要消化下的內容,決定一個樣式定義是屬於哪個作用域的因素有以下兩點:

  • 樣式定義所在樣式文件中的位置。(同樣的一個定義,放在不同的位置,所影響的範圍會有所不同。)
  • HTML中綁定demo這個類的標籤位置。(同樣一個類,綁定在body標籤和綁定在頁面中某個標籤上,所影響的範圍也會不同。)

在一個站點中,可能會分爲幾個不同的欄目,同一個欄目中,一般風格會保持一致。而不同的欄目間,相似的風格則不一定會相同。即使是全站通用的模塊,如翻頁,也可能會因爲欄目的不同而會有一些差異,比如鏈接的顏色等等。使用欄目級的樣式定義,能很好的減少代碼的冗餘,提高模塊的複用性。

另外需要在思維上注意的一點,以作用域劃分,並不意味着有着對應的文件,可能有些同學會習慣的以爲一個作用域就應該對應着一個文件。比如一個小的欄目,可能只有兩三個頁面,這時我們就不一定需要再把欄目級的定義單獨出來一個文件,而是與頁面級的定義一起放在一個文件裏,像這樣:


/* S 欄目級定義 */
.class{...}
/* E 欄目級定義 */
/* S 頁面級定義 */
.page{...}
/* E 頁面級定義 */
發佈了160 篇原創文章 · 獲贊 3 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章