- 时间:2021-05-11 23:45 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:Zen Coding 快速编写HTML/CSS代码的实现
在本文中我们将展示一种新的使用仿CSS选择器的语法来快速开发HTML和CSS的方法。它由[url=http://www.smashingmagazine.com/author/sergey-chikuyonok/]Sergey Chikuyonok[/url]开发。
你在写HTML代码(包括所有标签、属性、引用、大括号等)上花费多少时间?如果你的编辑器有代码提示功能,你编写的时候就会容易些,但即便如此你还是要手动敲入很多代码。
在JavaScript方面,当我们想要在一个页面上获取某个特定的元素时,我们就会遇到同样的问题,我们必须写很多代码,这就变得难于维护和重用。JavaScript框架应运而生,它们同时引入了CSS选择器引擎。现在,你可以使用简单的CSS表达式来获取DOM元素,这相当酷。
但是,如果你不仅仅可以用CSS的选择器布局和定位元素,还能[b]生成代码[/b]会怎么样?比如,如果你这样写:
[url=http://www.1sucai.cn/softs/33871.html]Zen Coding for Dreamweaver v.0.7[/url] 测试通过
有些迷惑吧?今天,我将向你介绍Zen Coding,一组用于快速HTML和CSS编码的工具。最初由Vadim Makeev在2009年4月提出(文章为俄语),由鄙人(也就是我)开发了数月并最终达到比较成熟的状态。Zen Coding由两个核心组件组成:一个缩写扩展器(缩写为像CSS一样的选择器)和上下文无关的HTML标签对匹配器。看一下这个演示视频来看一下它们能为你做些什么。
[video]http://player.youku.com/player.php/sid/XMTM4NDQwNzgw/v.swf[/video]
[b]注意:[/b]该视频原版位于Vimeo,但是要看的话需要翻[和谐]墙先,地址在这里:[url=http://vimeo.com/7405114]http://vimeo.com/7405114[/url],上面的视频是我费尽周折从Vimeo上下载下来上传到优酷的,上传后质量竟被大打折扣了,囧。youtube上也有一份视频,是基于Aptana的演示,一样很精彩:[url=http://www.youtube.com/watch?v=ug84Ypwqfzk]http://www.youtube.com/watch?v=ug84Ypwqfzk[/url]。PS:貌似youtube要比Vimeo翻[和谐]墙容易些,不过如何翻[和谐]墙不在本站讨论范围。
如果你想跳转到详细介绍和使用指南,请看一下演示页面并立刻下载你适用的插件:
[h3]Demo[/h3]
[list]
[*][url=http://zen-coding.ru/demo/]Demo[/url] (使用 [i]Ctrl + ,[/i] 展开缩写,需要JavaScript支持)
[/*][*][url=http://labs.qianduan.net/zencoding/]中文版演示[/url] [/*][/list]
[h3]下载(完全支持)[/h3]
[list]
[*][url=http://code.google.com/p/zen-coding/downloads/detail?name=Zen.Coding-Aptana.v0.5.zip]Aptana[/url] (跨平台);
[/*][*]Coda, via [url=http://github.com/sergeche/tea-for-coda/downloads]TEA for Coda[/url] (Mac);
[/*][*]Espresso, via [url=http://github.com/sergeche/tea-for-espresso/downloads]TEA for Espresso[/url] (Mac); [/*][/list]
[h3]下载(部分支持,只支持“展开缩写”)[/h3]
[list]
[*][url=http://code.google.com/p/zen-coding/downloads/detail?name=Zen%20Coding%20for%20TextMate%20v0.3.1.zip]TextMate[/url] (只能用于Mac机,Windows可以使用E-text编辑器替代);
[/*][*][url=http://code.google.com/p/zen-coding/downloads/detail?name=TopStyle.Zen.Coding.1.0.zip]TopStyle[/url];
[/*][*][url=http://code.google.com/p/zen-coding/downloads/detail?name=Sublime.Zen.Coding.1.1.3.zip]Sublime Text[/url];
[/*][*][url=http://www.kryogenix.org/days/2009/09/21/zen-coding-for-gedit]GEdit[/url];
[/*][*][url=http://zen-coding.googlecode.com/files/Zen.Coding-Dreamweaver.v0.4.zip]Dreamweaver CS4[/url]
[/*][*][url=http://zen-coding.ru/demo/]editArea在线编辑器[/url];
[/*][*][url=http://labs.qianduan.net/zencoding/]Zen Coding在线编辑器中文版[/url] [/*][/list]
现在让我们看一下这些工具是如何工作的吧。
[h2]展开缩写[/h2]
展开缩写功能将类似CSS的选择器转换为XHTML代码。术语“缩写”可能会有点儿难以理解。为什么不直接称之为“CSS选择器”呢?嗯,首要原因是语义化:“选择器”意为[i]选择[/i]一些东西,但是在这里我们事实上是[i]生成[/i] 一些东西,[b]是写一个长代码的较短的替代[/b]。其次,它只是使用真实的CSS选择器语法的一个小的子集,并添加了一些新的操作符。
这里是一个支持的属性和操作符的列表:
[list]
[*]E
元素名称(div, p);
[/*][*]E#id
使用id的元素(div#content, p#intro, span#error);
[/*][*]E.class
使用类的元素(div.header, p.error.critial). 你也可以联合使用class和idID: div#content.column.width;
[/*][*]E>N
子代元素(div>p, div#footer>p>span);
[/*][*]E+N
兄弟元素(h1+p, div#header+div#content+div#footer);
[/*][*]E*N
元素倍增(ul#nav>li*5>a);
[/*][*]E$*N
条目编号 (ul#nav>li.item-$*5); [/*][/list]
正如你能看到的,你已经知道如何使用Zen Coding了:只是些一个简单的仿CSS选择器(呃,“缩写”抱歉),就像这样…
[url=]<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
最后一个——条目编号用于当你想用索引标记重复的元素的情况。假设你想生成class为item1、item2和item3的3个<div>元素。你可以写成这样的缩写,div.item$*3:
<div class="item1"></div>
<div class="item2"></div>
<div class="item3"></div>
只需在你想要索引出现的任何class或id属性上添加一个美元符号即可,而且想要多少都可以。那么,这样…
微信版

扫一扫进微信版
返回顶部