武林網(wǎng)(www.survivalescaperooms.com)文章簡介:Zen Coding: 一種快速編寫HTML/CSS代碼的方法.
譯自:Smashing Magazine
中文:Zen Coding: 一種快速編寫HTML/CSS代碼的方法
在本文中我們將展示一種新的使用仿CSS選擇器的語法來快速開發(fā)HTML和CSS的方法。它由Sergey Chikuyonok開發(fā)。
你在寫HTML代碼(包括所有標(biāo)簽、屬性、引用、大括號等)上花費(fèi)多少時間?如果你的編輯器有代碼提示功能,你編寫的時候就會容易些,但即便如此你還是要手動敲入很多代碼。
在JavaScript方面,當(dāng)我們想要在一個頁面上獲取某個特定的元素時,我們就會遇到同樣的問題,我們必須寫很多代碼,這就變得難于維護(hù)和重用。JavaScript框架應(yīng)運(yùn)而生,它們同時引入了CSS選擇器引擎?,F(xiàn)在,你可以使用簡單的CSS表達(dá)式來獲取DOM元素,這相當(dāng)酷。
但是,如果你不僅僅可以用CSS的選擇器布局和定位元素,還能生成代碼會怎么樣?比如,如果你這樣寫:
div#content>h1+p
…然后就可以看到這樣的輸出:
>
><>有些迷惑吧?今天,我將向你介紹Zen Coding,一組用于快速HTML和CSS編碼的工具。最初由Vadim Makeev在2009年4月提出(文章為俄語),由鄙人(也就是我)開發(fā)了數(shù)月并最終達(dá)到比較成熟的狀態(tài)。Zen Coding由兩個核心組件組成:一個縮寫擴(kuò)展器(縮寫為像CSS一樣的選擇器)和上下文無關(guān)的HTML標(biāo)簽對匹配器??匆幌逻@個演示視頻來看一下它們能為你做些什么。
注意:該視頻原版位于Vimeo,但是要看的話需要翻[和諧]墻先,地址在這里:,上面的視頻是我費(fèi)盡周折從Vimeo上下載下來上傳到優(yōu)酷的,上傳后質(zhì)量竟被大打折扣了,囧。youtube上也有一份視頻,是基于Aptana的演示,一樣很精彩:?v=ug84Ypwqfzk。PS:貌似youtube要比Vimeo翻[和諧]墻容易些,不過如何翻[和諧]墻不在本站討論范圍。
如果你想跳轉(zhuǎn)到詳細(xì)介紹和使用指南,請看一下演示頁面并立刻下載你適用的插件:
Demo現(xiàn)在讓我們看一下這些工具是如何工作的吧。
展開縮寫展開縮寫功能將類似CSS的選擇器轉(zhuǎn)換為XHTML代碼。術(shù)語“縮寫”可能會有點(diǎn)兒難以理解。為什么不直接稱之為“CSS選擇器”呢?嗯,首要原因是語義化:“選擇器”意為選擇一些東西,但是在這里我們事實(shí)上是生成 一些東西,是寫一個長代碼的較短的替代。其次,它只是使用真實(shí)的CSS選擇器語法的一個小的子集,并添加了一些新的操作符。
這里是一個支持的屬性和操作符的列表:
元素名稱(div, p);
使用id的元素(div#content, p#intro, span#error);
使用類的元素(div.header, p.error.critial). 你也可以聯(lián)合使用class和idID: div#content.column.width;
子代元素(div>p, div#footer>p>span);
兄弟元素(h1+p, div#header+div#content+div#footer);
元素倍增(ul#nav>li*5>a);
條目編號 (ul#nav>li.item-$*5);
正如你能看到的,你已經(jīng)知道如何使用Zen Coding了:只是些一個簡單的仿CSS選擇器(呃,“縮寫”抱歉),就像這樣…
div#header>img.logo+ul#nav>li*4>a
…然后調(diào)用”展開縮寫”行為。
這里有兩個新增的操作符:元素倍增和條目編號。比如,如果你想生成5個<li>元素,你可以簡單的寫位li*5。它也將同樣重寫全部子代元素。如果你想寫4個<li>元素,每個里面都有一個<a>標(biāo)簽,你就可以簡單的寫為li*4>a,這樣會生成以下HTML代碼:
><>><>><>><>
最后一個——條目編號用于當(dāng)你想用索引標(biāo)記重復(fù)的元素的情況。假設(shè)你想生成class為item1、item2和item3的3個<div>元素。你可以寫成這樣的縮寫,div.item$*3:
><><></div>
只需在你想要索引出現(xiàn)的任何class或id屬性上添加一個美元符號即可,而且想要多少都可以。那么,這樣…
div#i$-test.class$$*5
會被轉(zhuǎn)換成為:
><><><><></div>
你會看到,當(dāng)你寫a的縮寫的時候,輸出是<a href=”"></a>。或者,如果你寫img,輸出就是<img src=”" src="http://www.survivalescaperooms.com/uploads/allimg/130804/091FY210_0.png" />
注意事項(xiàng):
好消息是,現(xiàn)在已經(jīng)有了Zen coding for DreamWeaver插件,壞消息是,該插件支持的功能很少,只支持展開縮寫功能。而且默認(rèn)的快捷鍵是無效的。只能在“命令”菜單中點(diǎn)擊操作。另外,沒有測試該插件是不是只支持CS4版本。不過比較好的是,作者將本插件的源碼也放出了,你可以自定義一個Dreamweaver的插件。
原作者介紹:Sergey Chikuyonok是一位俄羅斯的前端開發(fā)工程師和作者,他在優(yōu)化方面有很大的熱情:從圖片、JavaScript效果到工作流程和節(jié)省時間的編碼。訪問他的主頁和他的Twitter。
新聞熱點(diǎn)
疑難解答
圖片精選