專業(yè)網(wǎng)站建設(shè)——從宜家的家具設(shè)計講模塊化

2022-08-10    分類: 網(wǎng)站建設(shè)

專業(yè)的網(wǎng)站建設(shè)是從模塊化的角度對網(wǎng)站進(jìn)行設(shè)計的,模塊化的設(shè)計從網(wǎng)站設(shè)計的統(tǒng)一性,網(wǎng)站制作時代碼優(yōu)化和重用方面從專業(yè)角度對網(wǎng)站做了多方面的優(yōu)化工作。
去過宜家的同學(xué)應(yīng)該都有注意到,宜家的家具基本都是組合的,可拆裝。模塊化的特點(diǎn)也是這樣,可以組合,相對獨(dú)立,在需要的時候可以很方便的加上。那怎么寫可以基本實(shí)現(xiàn)這種方式呢?給個簡單的例子:
<div class="mode-a">
<h3>專業(yè)網(wǎng)站建設(shè)模塊化Demo</h3>
<p>專業(yè)網(wǎng)站建設(shè)模塊化結(jié)構(gòu)的例子。</p>
</div>
對應(yīng)的CSS可以這么寫:
.mode-a{...}
.mode-a h3{...}
.mode-a p{...}
其中“mode-a”就是這個模塊的名稱,表示這是名為“a”的模塊,現(xiàn)在這個模塊可以被放到你所需要的地方。既然是做模塊,就不會只有一個,我們再加一個“mode-b”:
<div class="mode-b">
<h3>專業(yè)網(wǎng)站建設(shè)模塊化Demo</h3>
<div>
<h4>專業(yè)網(wǎng)站建設(shè)模塊化的特點(diǎn):</h4>
<ul>
<li>相對獨(dú)立</li>
<li>可移植性高</li>
</ul>
</div>
</div>
對應(yīng)的CSS可以這么寫:
.mode-b{...}
.mode-b h3{...}
.mode-b div{...}
.mode-b h4{...}
.mode-b ul li{...}
實(shí)際應(yīng)用中大多需要加一些classname來減少類定義的復(fù)雜度,這個例子比較簡單,但足以說明模塊化的特點(diǎn)。上面兩個模塊可同時被使用到一個或多個頁面中。
在宜家的賣場中,也許你也注意到了,基本是以設(shè)計師來劃分商品區(qū)的,特別是那些小件的商品。模塊化后的代碼也可以被分配給不同的人進(jìn)行編寫,提高效 率。當(dāng)然要實(shí)現(xiàn)這種方式,我們也需要做些工作,如模塊的命名規(guī)范、模塊中哪些地方是需要留接口的等等。如上面的例子中可以約定的就有:命名以“mode” 開頭,模塊標(biāo)題使用h3標(biāo)簽。這樣不管是哪個人寫出來的模塊都可兼容項目中的頁面。
看到這你可能會發(fā)現(xiàn),既然上面已經(jīng)約定了模塊固定的結(jié)構(gòu),每個模塊的樣式定義中所寫的這一部分不就是冗余的嗎?是的。如果已經(jīng)形成相關(guān)的約定,這部分的樣式定義可以被提出來放到項目的公共定義中,減少代碼的冗余。如上面的例子可以變成:
/* =S global */
h3{
/* 一種寫法 */
...
}
.mode-a h3,
.mode-b h3{
/* 第二種寫法 */
...
}
/* =E global */
/* =S mode-a */
.mode-a{...}
.mode-a p{...}
/* =E mode-a */
/* =S mode-b */
.mode-b{...}
.mode-b div{...}
.mode-b h4{...}
.mode-b ul li{...}
/* ==E mode-b */
不知你有沒注意到宜家那些小件的商品,往往可以組合到不同的其它商品上面。這也帶出了模塊化的另一個話題:模塊中的模塊。即在模塊中可以存在其它的 模塊,也很好理解,就像我們做網(wǎng)站的時候,整個頁面的結(jié)構(gòu)就像是一個大的模塊,而上面所講的例子就是模塊中的模塊了,只不過我們把這個定義縮小一層。上面例子中對h3的定義,就可以看成是一個模塊,它在“mode-a”、“mode-b”兩個模塊中都出現(xiàn),并且結(jié)構(gòu)表現(xiàn)相對固定。
OK,這只是對一個標(biāo)簽的定義,如果不只一個標(biāo)簽?zāi)??我們重新改下例子?/div>
<div class="mode-b">
<div class="mode-a">
<h3>專業(yè)網(wǎng)站建設(shè)模塊化Demo</h3>
<p>專業(yè)網(wǎng)站建設(shè)模塊化結(jié)構(gòu)的例子。</p>
</div>
<div class="cont">
<h4>專業(yè)網(wǎng)站建設(shè)模塊化的特點(diǎn):</h4>
<ul>
<li>相對獨(dú)立</li>
<li>可移植性高</li>
</ul>
</div>
</div>
<div class="mode-c">
<div class="mode-a">
<h3>專業(yè)網(wǎng)站建設(shè)模塊化Demo</h3>
<p>這個是“專業(yè)網(wǎng)站建設(shè)模塊中的模塊”的例子。</p>
</div>
<div class="cont">
<h4>專業(yè)網(wǎng)站建設(shè)模塊中的模塊:</h4>
<p>專業(yè)網(wǎng)站建設(shè)模塊“mode-a”就是一個模塊中的模塊。</p>
</div>
</div>
/* =S mode-a */
.mode-a{...}
.mode-a h3{...}
.mode-a p{...}
/* =E mode-a */
/* =S mode-b */
.mode-b{...}
.mode-b h4{...}
.mode-b .cont{...}
.mode-b .cont ul li{...}
/* =E mode-b */
/* =S mode-c */
.mode-c{...}
.mode-c h4{...}
.mode-c .cont{...}
.mode-c .cont p{...}
/* =E mode-c */
從上面可以看到,“mode-a”是一個獨(dú)立的模塊,當(dāng)它作為“mode-b”和“mode-c”的一部分時,就成了模塊中的模塊了。拋下磚,希望能引出更多相關(guān)的討論。
希望大家對專業(yè)網(wǎng)站建設(shè)模塊化方面有更多的收獲。

分享標(biāo)題:專業(yè)網(wǎng)站建設(shè)——從宜家的家具設(shè)計講模塊化
標(biāo)題URL:http://www.bm7419.com/news39/188039.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計公司、網(wǎng)站收錄、標(biāo)簽優(yōu)化網(wǎng)站策劃、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)