這篇文章將為大家詳細(xì)講解有關(guān)CSS的DRY編程方式是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
DRY就是Donot repeat youself 不要重復(fù)。但其實(shí)這個(gè)名字有點(diǎn)無趣,哪個(gè)理論不是消除重復(fù)呢,但如何消除才是意義所在??偟膩碚f我認(rèn)為DRYCSS與OOCSS是兩個(gè)極端,所以我將會以對比的方式來講講DRYCSS的內(nèi)容。使用DRYCSS很簡單,三步。
1. 分組可復(fù)用屬性
DRYCSS跟OOCSS有點(diǎn)像,第一步都是分組樣式,消除重復(fù),但就像我說的,關(guān)鍵在于如何。OOCSS將樣式集合看作對象,所以分組的邏輯是,某個(gè)元素本身應(yīng)該是什么樣的,而DRYCSS則關(guān)注重復(fù),無論什么邏輯,只要是一樣的就應(yīng)該只有一個(gè)。其中粒度是值得思考的問題,如果太細(xì),那只會成為一行樣式一組這樣無意義的情況,如果太粗,又會變成毫無復(fù)用性的龐然大物。我認(rèn)為可以將一些有關(guān)聯(lián)的缺了A時(shí)B就沒作用的樣式分為一組,還可以將某些慣用搭配分為一組。下面舉個(gè)例子:
CSS {
float: left;
position: absolute;
display: inline-block;
overflow: hidden;
}
這是一組樣式,可用來觸發(fā)Block formatting Contexts(塊級格式化上下文),如此就完成了一組樣式。接著再寫2組關(guān)于尺寸的樣式吧。
CSS
{
width: 960px;
height: auto;
}
{
width: 720px;
height: 600px;
}
{
width: 220px;
height: 600px;
}
這是三組樣式用來布局,將頁面分為左右兩部分。
2. 按邏輯為分組命名
接著我們來為其命名,其實(shí)就是添加一個(gè)ID選擇器,但是我們并不真的使用它,而是用來標(biāo)示該組樣式。下面就來命名上面所分組的樣式。
CSS
#BLOCK_FORMATTING_CONTEXTS
{
float: left;
position: absolute;
display: inline-block;
overflow: hidden;
}
#LAYOUT_FULL
{
width: 960px;
height: auto;
}
#LAYOUT_CONTENT
{
width: 720px;
height: 600px;
}
#LAYOUT_SIDEBAR
{
width: 220px;
height: 600px;
}
這一步類似OOCSS的class,它決定了每組樣式所代表的邏輯或用途,然而DRYCSS多了最關(guān)鍵的下一步,也是與OOCSS本質(zhì)區(qū)別。
3. 為各個(gè)分組添加選擇器
DRYCSS在使用時(shí)和OOCSS有著巨大的差異,在CSS文件中寫入HTML中的class選擇器來使用這些分組后的樣式,而不是直接在HTML中使用CSS文件中寫好的class。
CSS
.header,
.container,
.content-rightright,
.content-left,
#BLOCK_FORMATTING_CONTEXTS
{
float: left;
position: absolute;
display: inline-block;
overflow: hidden;
}
.header,
.navigator,
.container,
#LAYOUT_FULL
{
width: 960px;
height: auto;
}
.content-rightright,
.section,
#LAYOUT_CONTENT
{
width: 720px;
height: 600px;
}
.content-rightright,
.sidebar,
.profile,
#LAYOUT_SIDEBAR
{
width: 220px;
height: 600px;
}
可以看到,使用DRYCSS時(shí),在HTML中所寫的class將會非常表意,元素本身是什么用來做什么,就使用其意義的class命名,而且基本上是一個(gè)元素對應(yīng)一個(gè)class,HTML將變的簡單明了。另外DRYCSS也是相對于OOCSS的一種逆向思維,這才是最有趣的地方。在開發(fā)中,不應(yīng)該像OOCSS那樣思考如何應(yīng)對未來假象的HTML,而是僅僅思考CSS本身。
總的來說,OOCSS適合開發(fā)CSS框架或整套UI模版,是自外向內(nèi)的UI開發(fā)方式;而DRYCSS則適合拯救混沌的HTML,或者加強(qiáng)HTML的結(jié)構(gòu)性和表意性,是自內(nèi)向外的UI開發(fā)方式。這里的內(nèi)指地是HTML結(jié)構(gòu),外指地是CSS樣式。
關(guān)于CSS的DRY編程方式是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
當(dāng)前標(biāo)題:CSS的DRY編程方式是怎樣的-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://chinadenli.net/article16/cdjgdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、響應(yīng)式網(wǎng)站、域名注冊、外貿(mào)建站、軟件開發(fā)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容