CSS 模塊化的理解
發(fā)布時間:2009-02-04 03:12:10 作者:佚名
我要評論

在Twinsen Liang的博客上看到一篇名為語義化單單的限定在html么?的文章,文中主要是提及了CSS的命名規(guī)則,仔細(xì)閱讀后,我認(rèn)為這個其實就是模塊化思想。(作者也提了這一點)。
我沒有看過CSS模塊化的相關(guān)書籍,所以我下面說的不一定正確,但是在工作中,我會用我理解的模塊
在Twinsen Liang的博客上看到一篇名為語義化單單的限定在html么?的文章,文中主要是提及了CSS的命名規(guī)則,仔細(xì)閱讀后,我認(rèn)為這個其實就是模塊化思想。(作者也提了這一點)。
我沒有看過CSS模塊化的相關(guān)書籍,所以我下面說的不一定正確,但是在工作中,我會用我理解的模塊化方式提高工作效率,我理解的模塊化,主要分為兩類。
1、將常見的樣式剝離出來,形成單獨的樣式,我叫他基礎(chǔ)樣式表或模塊樣式表,這個樣式表主要一些常見的基本結(jié)構(gòu)和形式,如CSS Reset、Blank、Font 等等。
例如下面這個樣式表,我認(rèn)為就是一個簡單的基礎(chǔ)樣式表。(只是簡單,不推薦用)
CSS
* {margin:0;padding:0;border:none;outline:none;}
.cb {clear:both;}
.blank10 {height:10px; font-size:1px; overflow:hidden; clear:both;}
2、在頁面中按照結(jié)構(gòu)模塊化書寫樣式表,避免樣式之間的干擾,并且方便瀏覽。
例如下面的這個結(jié)構(gòu)
XHTML
<!-- 左邊 -->
<div>
<h2>...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div>
<h2>...</h2>
<h2>...</h2>
</div>
有一部分同學(xué)可能會這樣寫
CSS
.wrap_content_box {float:left;}
.wrap_content_box h2 {...}
XHTML
<!-- 左邊 -->
<div class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
剛剛看上去的時候效果很不錯,一切都很完美,代碼少,效果也實現(xiàn)了,但如果有一天,我們需要將所有h2的樣式變的各不相同時,情況仿佛不樂觀了。
CSS
.wrap_content_box {float:left;}
h2.XX {...}
h2.YY {...}
h2.ZZ {...}
h2.XYZ {...}
XHTML
<!-- 左邊 -->
<div class="wrap_content_box">
<h2 class="XX">...</h2>
<h2 class="YY">...</h2>
</div>
<!-- 右邊 -->
<div class="wrap_content_box">
<h2 class="ZZ">...</h2>
<h2 calss="XYZ">...</h2>
</div>
迫不得已的,我們增加了很多帶有不同標(biāo)記的樣式??墒?年后呢有人問起你這些樣式所控制的對象是什么?
我可以肯定你會說,“我很費解”。
或者當(dāng)你自己又寫了一個“h2.XX”(命名重復(fù)的情況經(jīng)常出現(xiàn)),無意覆蓋了這個1年前的樣式,而你又不知道,又恰巧被你的老板發(fā)現(xiàn)了…….上帝只能說,阿門,哥們,點被不能怨上帝。
可如果在一開始我們用這種方法寫呢?
CSS
.wrap_content_box {float:left;}
#wrap_con_00 h2, #wrap_con_01 h2 {...}
XHTML
<!-- 左邊 -->
<div id="wrap_con_00" class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div id="wrap_con_01" class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
粗看是多了一些,但是當(dāng)我們再次遇見給h2增加不同樣式的時候,我們可以…
CSS
.wrap_content_box {float:left;}
#wrap_con_00 h2,{...}
#wrap_con_00 h2.first {...}
#wrap_con_01 h2,{...}
#wrap_con_01 h2.first {...}
XHTML
<!-- 左邊 -->
<div id="wrap_con_00" class="wrap_content_box">
<h2 class="first">...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div id="wrap_con_01" class="wrap_content_box">
<h2 class="first">...</h2>
<h2>...</h2>
</div>
看,這樣是不是好多了,這種格式在1年后,有人問起的時候,我肯以肯定你會說“我不費解”。
上帝也不會找你麻煩了。
我沒有看過CSS模塊化的相關(guān)書籍,所以我下面說的不一定正確,但是在工作中,我會用我理解的模塊化方式提高工作效率,我理解的模塊化,主要分為兩類。
1、將常見的樣式剝離出來,形成單獨的樣式,我叫他基礎(chǔ)樣式表或模塊樣式表,這個樣式表主要一些常見的基本結(jié)構(gòu)和形式,如CSS Reset、Blank、Font 等等。
例如下面這個樣式表,我認(rèn)為就是一個簡單的基礎(chǔ)樣式表。(只是簡單,不推薦用)
CSS
* {margin:0;padding:0;border:none;outline:none;}
.cb {clear:both;}
.blank10 {height:10px; font-size:1px; overflow:hidden; clear:both;}
2、在頁面中按照結(jié)構(gòu)模塊化書寫樣式表,避免樣式之間的干擾,并且方便瀏覽。
例如下面的這個結(jié)構(gòu)
XHTML
<!-- 左邊 -->
<div>
<h2>...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div>
<h2>...</h2>
<h2>...</h2>
</div>
有一部分同學(xué)可能會這樣寫
CSS
.wrap_content_box {float:left;}
.wrap_content_box h2 {...}
XHTML
<!-- 左邊 -->
<div class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
剛剛看上去的時候效果很不錯,一切都很完美,代碼少,效果也實現(xiàn)了,但如果有一天,我們需要將所有h2的樣式變的各不相同時,情況仿佛不樂觀了。
CSS
.wrap_content_box {float:left;}
h2.XX {...}
h2.YY {...}
h2.ZZ {...}
h2.XYZ {...}
XHTML
<!-- 左邊 -->
<div class="wrap_content_box">
<h2 class="XX">...</h2>
<h2 class="YY">...</h2>
</div>
<!-- 右邊 -->
<div class="wrap_content_box">
<h2 class="ZZ">...</h2>
<h2 calss="XYZ">...</h2>
</div>
迫不得已的,我們增加了很多帶有不同標(biāo)記的樣式??墒?年后呢有人問起你這些樣式所控制的對象是什么?
我可以肯定你會說,“我很費解”。
或者當(dāng)你自己又寫了一個“h2.XX”(命名重復(fù)的情況經(jīng)常出現(xiàn)),無意覆蓋了這個1年前的樣式,而你又不知道,又恰巧被你的老板發(fā)現(xiàn)了…….上帝只能說,阿門,哥們,點被不能怨上帝。
可如果在一開始我們用這種方法寫呢?
CSS
.wrap_content_box {float:left;}
#wrap_con_00 h2, #wrap_con_01 h2 {...}
XHTML
<!-- 左邊 -->
<div id="wrap_con_00" class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div id="wrap_con_01" class="wrap_content_box">
<h2>...</h2>
<h2>...</h2>
</div>
粗看是多了一些,但是當(dāng)我們再次遇見給h2增加不同樣式的時候,我們可以…
CSS
.wrap_content_box {float:left;}
#wrap_con_00 h2,{...}
#wrap_con_00 h2.first {...}
#wrap_con_01 h2,{...}
#wrap_con_01 h2.first {...}
XHTML
<!-- 左邊 -->
<div id="wrap_con_00" class="wrap_content_box">
<h2 class="first">...</h2>
<h2>...</h2>
</div>
<!-- 右邊 -->
<div id="wrap_con_01" class="wrap_content_box">
<h2 class="first">...</h2>
<h2>...</h2>
</div>
看,這樣是不是好多了,這種格式在1年后,有人問起的時候,我肯以肯定你會說“我不費解”。
上帝也不會找你麻煩了。
相關(guān)文章
- 本文的核心觀點為CSS的合并與模塊化,似乎與前一篇文章“CSS樣式的再分離”有矛盾,其實不然,分離可以精簡CSS代碼,合并也可以精簡CSS代碼,一切都是權(quán)衡,本文的“合并”2013-01-11
- 原生Js因jQuery的"write less,do more"變得極簡, Html因語義化編碼變得簡明, 那么, 有沒有一種方式讓Css也更加的高效精致呢? 當(dāng)然有, 那便是模塊化編碼.2011-01-27
- 最近被“模塊化”纏身,又是文章又是PPT的,想了很多相關(guān)的東西,整理下我這段時間對于“模塊化”的思考,大多都是我自己從事頁面重構(gòu)這份工作的經(jīng)驗和理解,在一定程度上2009-06-26
- 網(wǎng)頁制作Webjx文章簡介:名字,你看名字多重要,我不太清楚,我寫書的話我的書被人改變名稱去誤導(dǎo)別人我是不喜歡的,這是我一直說的作為一個技術(shù)人員應(yīng)當(dāng)遵守的準(zhǔn)則——互聯(lián)2009-04-02
通過宜家的家具設(shè)計方法學(xué)習(xí)CSS模塊化
網(wǎng)頁制作Webjx文章簡介:去過宜家的同學(xué)應(yīng)該都有注意到,宜家的家具基本都是組合的,可拆裝,模塊化的特點也是這樣,可以組合,相對獨.立,在需要的時候可以很方便的加上,那2009-04-02- 網(wǎng)頁制作Webjx文章簡介:我沒有看過CSS模塊化的相關(guān)書籍,所以我下面說的不一定正確,但是在工作中,我會用我理解的模塊化方式提高工作效率,我理解的模塊化,主要分為兩類2009-04-02
- 網(wǎng)頁制作Webjx文章簡介:這里著重講一下模塊化開發(fā)為后期維護帶來的好處! 首先,不管了不了解,鬼哥的這篇文章都可以看一下,從宜家的家具設(shè)計講模塊化ht2009-04-02
CSS模塊化設(shè)計——從空格談起-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
引子: 今天在藍點看了Yang的博客《CSS樣式表中繼承關(guān)系的空格與不空格》,思考了一下,本來想寫《CSS樣式的復(fù)合定義與復(fù)合調(diào)用及簡單的模塊化設(shè)計》,但是內(nèi)容太大,還是2008-10-17- 這篇文章主要介紹了css模塊化方案,css的模塊化方案可能和js的一樣多,下面簡單介紹幾種主要的模塊方案,非常具有實用價值,需要的朋友可以參考下2019-01-09