Emmet — the essential toolkit for web-developers

今天重装Sublime,才发现ZenCoding早已更名为Emmet ['emɪt] 了, 温习了一遍语法


下面是第一道开胃菜,请使用sublime建立一个test.html保存到桌面,然后Win7下快捷键Ctrl+Alt+Enter调出zencoding的心印(koan),koan一词源于佛语

输入:

#page>div.logo+ul#navigation>li*5>a{Item $}

Emmet 会自动转换为

<div id="page">
    <div class="logo"></div>
    <ul id="navigation">
        <li><a href="">Item 1</a></li>
        <li><a href="">Item 2</a></li>
        <li><a href="">Item 3</a></li>
        <li><a href="">Item 4</a></li>
        <li><a href="">Item 5</a></li>
    </ul>
</div>
是不是很神奇!下面详细介绍 Emmet 的语法


1. 选择器

同JQUERY 语法意义,Emmet 使用#表示id, . 表示类。

  • E#id
    使用id的元素(div#content, p#intro, span#error);
  • E.class
    使用类的元素(div.header, p.error.critial). 你也可以联合使用class和idID: div#content.column.width;

2. 层级关系

  • E>N
    子代元素(div>p, div#footer>p>span);
  • E+N
    兄弟元素(h1+p, div#header+div#content+div#footer);
  • () 表示同级兄弟关系
  • [] 表示元素属性, h1[tile=sample] 表示 <h1 tile="sample"></h1>

例如,

  1. <html>
  2.     <head>
  3.         <title></title>
  4.         <style type="text/css"></style>
  5.         <script type="text/javascript"></script>
  6.     </head>
  7.     <body>
  8.         <div class="content">
  9.             <div class="nav"></div>
  10.             <div class="sidebar"></div>
  11.             <div class="main"></div>
  12.         </div>
  13.         <div class="footer"></div>
  14.     </body>
  15. </html>

如何使用Emmet 语法实现呢?

html>html>title+style[type=text/css]+script[type=text/javascript]+body>(div.content>div.nav+div.sidebar+div.main)+div.footer

请注意括号的位置


3. 快速输入

  • E*N
    元素倍增(ul#nav>li*5>a);
  • E$*N
    条目编号 (ul#nav>li.item-$*5);

例如,div#header>img.logo+ul#nav>li*4>a, 表示


<div id="header">
<img src="" alt="" class="logo">
<ul id="nav">
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</div>


假设你想生成class为item1、item2和item3的3个<div>元素。你可以写成这样的缩写,div.item$*3:

1
2
3
<div class="item1"></div>
<div class="item2"></div>
<div class="item3"></div>

只需在你想要索引出现的任何class或id属性上添加一个美元符号即可,而且想要多少都可以。那么,这样…

 div#i$-test.class$$$*5

会被转换成为:

1
2
3
4
5
<div id="i1-test" class="class111"></div>
<div id="i2-test" class="class222"></div>
<div id="i3-test" class="class333"></div>
<div id="i4-test" class="class444"></div>
<div id="i5-test" class="class555"></div>

你会看到,当你写a的缩写的时候,输出是<a href=”"></a>。或者,如果你写img,输出就是<img src=”" alt=”" />


最后一道大菜,大家可以自己实践一下:

  1. <html>
  2.     <head>
  3.         <title></title>
  4.         <style type="text/css"></style>
  5.         <script type="text/javascript" src="abc1.js"></script>
  6.         <script type="text/javascript" src="abc2.js"></script>
  7.         <script type="text/javascript" src="abc3.js"></script>
  8.     </head>
  9.     <body>
  10.         <div class="content">
  11.             <div class="nav">
  12.                 <ul>
  13.                     <li><a href=""><span></span></a></li>
  14.                     <li><a href=""><span></span></a></li>
  15.                     <li><a href=""><span></span></a></li>
  16.                     <li><a href=""><span></span></a></li>
  17.                     <li><a href=""><span></span></a></li>
  18.                 </ul>
  19.             </div>
  20.         </div>
  21.         <div class="sidebar">
  22.             <div class="top"></div>
  23.             <div class="middle"></div>
  24.             <div class="bottom"></div>
  25.         </div>
  26.         <div class="main">
  27.             <div class="acticle">
  28.                 <h1>文章标题1</h1>
  29.                 <p></p>
  30.             </div>
  31.             <div class="acticle">
  32.                 <h1>文章标题2</h1>
  33.                 <p></p>
  34.             </div>
  35.             <div class="acticle">
  36.                 <h1>文章标题3</h1>
  37.                 <p></p>
  38.             </div>
  39.         </div>
  40.         <div class="footer">版权信息</div>
  41.     </body>
  42. </html>


Emmet 官网地址:http://docs.emmet.io/, 视频介绍的不错。

http://blog.chinaunix.net/uid-22414998-id-3184766.html 上有些练习很不错,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值