网络编程
位置:首页>> 网络编程>> 网页设计>> Zen Coding: 一种快速编写HTML/CSS代码[译](4)

Zen Coding: 一种快速编写HTML/CSS代码[译](4)

作者:神采飞扬 来源:前端观察 发布时间:2009-12-16 12:53:00 

标签:工具,html,css,Zen,Coding

使用缩写包裹

这真的是一个很酷的特性,它将缩写和标签对匹配器的功能合并到一起了。你有多少才发现你需要添加一个包裹元素以修正一个浏览器bug?或者你需要添加一个装饰,比如一个背景图片或者边框到一个块级内容?你必须写开始标签,临时打断你的代码,找到相关的点然后关闭标签。这就是“使用缩写包裹”能帮助你的地方。

该功能相当简单:它要求你输入缩写,然后执行适当的“展开缩写”行动并将你期望的文本放到你缩写的最后一个元素里面。如果你没有选择任何文本,它就会启动标签对匹配器并使用结果。它同样能搞清楚你的光标的位置:标签的内容里面或者是开始和关闭标签中间。依赖于它的位置,它会包裹标签的内容或标签本身。

缩写包裹为包裹个别行引入了一个特定的缩写句法。简单跳转到倍增操作符后面的数字,比如:ul#nav>li*>a。当Zen Coding 发现一个使用未定义的倍增数的时候,它会将它作为一个重复元素:你的章节中有多少行,它就会输出多少次,并将每行的内容放到重复元素的最后一个子元素里面。

如果你在这段文本外面包裹这段缩写div#header>ul#navigation>li.item$*>a>span:

About UsProductsNewsBlogContact Up

你将会得到以下结果:

<div id="header"> <ul id="navigation">  <li class="item1"><a href=""><span>About Us</span></a></li>  <li class="item2"><a href=""><span>Products</span></a></li>  <li class="item3"><a href=""><span>News</span></a></li>  <li class="item4"><a href=""><span>Blog</span></a></li>  <li class="item5"><a href=""><span>Contact Up</span></a></li> </ul></div>

你可以看到,Zen Coding是一个强大的文本处理工具。

快捷键

  • Ctrl+,
    展开缩写

  • Ctrl+M
    匹配对

  • Ctrl+H
    使用缩写包括

  • Shift+Ctrl+M
    合并行

  • Ctrl+Shift+?
    上一个编辑点

  • Ctrl+Shift+?
    下一个编辑点

  • Ctrl+Shift+?
    定位匹配对

这些快捷键是可以自定义的。

在线演示

你已经学到很多关于Zen Coding如何工作以及它是如何使你的编码更容易了。现在为什么不自己尝试一下呢?因为Zen Coding是用纯JavaScript开发并迁移到Python,它甚至可以用于浏览器内部,这令它成为引入到CMS的首选。

支持的编辑器

Zen Coding并不依赖某个特定的编辑器。它是一个只处理文本的出色的组件:它获取文本、做一些处理并放回新的文本(或索引,用于标签匹配)。Zen Coding由JavaScript和Python编写,所以它实际上可以运行于任何平台。在Windows,你可以运行JavaScript版本,而Mac和Linux 分支可以使用Python版。

如果让你的编辑器支持Zen Coding,你需要写一个特定的可以在你的编辑器和Zen Coding之间转换数据的插件。问题是一个编辑器可能不会完整的支持Zen Coding因为它本身的插件系统。比如,TextMate通过使用脚本输出替换当前行很容的就支持了“展开缩写”功能,但是它不能处理标签对匹配因为没有标准的方法请求TextMate来选择内容。

完全支持

部分支持(只支持“展开缩写”)

Aptana是我主要的开发环境,它使用一个JavaScript版本的Zen Coding。它也包含很多其它的我用于日常工作的工具,所以任何一个新的Zen Coding版本都将会首先对Aptana可用,然后部署到Python并兼容其它的编辑器。

Coda和Espresso 插件被杰出的Text Editor Actions (TEA) 平台支持,由Ian Beck开发。原始的源代码在GitHub上,但我还是制作了我自己的分支以整合Zen Coding的特性。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com