ZenCoding[Emmet]語法簡介【轉】
快速指南
下面是一些常用的Zen Coding功能,目前VS2013的Web Essentials插件已经支持。
- '#' 创建一个id特性
 - '.' 创建一个类特性
 - '[]' 创建一个自定义特性
 - '>' 创建一个子元素
 - '+' 创建一个兄弟元素
 - '^' 提升元素层次
 - '*' 相当于乘号,会创建n次相同的东西。
 - '$' 代替一个自增的数字。
 - '$$' 用于有填充位的数字,比如00,01。
 - '{}' 创建元素的文本。
 
可以做些啥呢?看下面这个复杂的例子:div#olDiv>ol>li.item*6>span{ZenCoding$$}.red
按下Tab键后,它会生成下面的代码:
<div id="olDiv">
    <ol>
        <li class="item">
            <span class="red">ZenCoding01</span>
        </li>
        <li class="item">
            <span class="red">ZenCoding02</span>
        </li>
        <li class="item">
            <span class="red">ZenCoding03</span>
        </li>
        <li class="item">
            <span class="red">ZenCoding04</span>
        </li>
        <li class="item">
            <span class="red">ZenCoding05</span>
        </li>
        <li class="item">
            <span class="red">ZenCoding06</span>
        </li>
    </ol>
</div>
ID和Class特性:#和.
使用CSS样式语法可以创建一个元素,并给它赋予id或class特性。div#container.layout会生成下面的代码:
<div id="container" class="layout"></div>
自定义特性:[]
可以使用中括号[]创建任何特性。div[title]会生成下面的代码:
<div title=""></div>
也可以创建多个特性并给特性赋值:input[placeholder="请输入姓名" type="text"]会生成下面的代码:
<input type="text" value="" placeholder="请输入姓名" />
子元素:>
先要创建一个元素,然后才能创建它的子元素。
比如,form#loginForm.login>input[type="text"]会生成下面的代码:
<form id="loginForm" class="login">
      <input type="text" value="" />
 </form>
兄弟元素:+
使用Zen Coding可以很轻松地创建兄弟元素。footer>div>a+input可以生成下面的代码:
<footer>
    <div>
        <a href=""></a>
        <input type="" value="" />
    </div>
</footer>
提升元素层次:^
>符号会降低元素的层次,然而^符号的作用相反,它是用来提升元素的层次的,而且还可以提升多个级别。比如,1^可以提升一个级别,4^可以提升4个级别。该功能不常用。
如footer>div>a+input^^p,p标签要在input级别的基础上提升2个层次,这样p标签就和最外层的footer标签处于同一级别,所以,生成的代码如下:
<footer>
    <div>
        <a href=""></a>
        <input type="" value="" />
    </div>
</footer>
<p></p>
乘积:*
创建n个同样的元素。
如ul>li*6会生成下面的代码:
<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
元素序号:$
当使用乘积*创建n个同样的元素时,可以使用$给它们添加一个自增的数字。注意:使用多个$操作符(如$$)会创建使用多个0填充的数字。
如ul>li#id$$$*4会生成下面的代码:
<ul>
    <li id="id001"></li>
    <li id="id002"></li>
    <li id="id003"></li>
    <li id="id004"></li>
</ul>
元素中的文本:{}
要给元素输入文本时,可以使用{}符号。
如ul>li*10>span{Windows $}会生成以下代码:
<ul>
    <li>
        <span>Windows 1</span>
    </li>
    <li>
        <span>Windows 2</span>
    </li>
    <li>
        <span>Windows 3</span>
    </li>
    <li>
        <span>Windows 4</span>
    </li>
    <li>
        <span>Windows 5</span>
    </li>
    <li>
        <span>Windows 6</span>
    </li>
    <li>
        <span>Windows 7</span>
    </li>
    <li>
        <span>Windows 8</span>
    </li>
    <li>
        <span>Windows 9</span>
    </li>
    <li>
        <span>Windows 10</span>
    </li>
</ul>
联合所有的符号
联合多个功能可以更快地编写一些相当酷的HTML,甚至可以为模板创建一些Knockout.js的绑定,然后只需要改变属性名就行了。
例如section[data-bind="foreach:customers"]>div*4>input[type="text" data-bind="text:$$"]会生成下面的代码:
<section data-bind="foreach:customers">
    <div>
        <input type="text" value="" data-bind="text:01" /></div>
    <div>
        <input type="text" value="" data-bind="text:02" /></div>
    <div>
        <input type="text" value="" data-bind="text:03" /></div>
    <div>
        <input type="text" value="" data-bind="text:04" /></div>
</section>
组合:()
组合是Zen Coding中强大的功能,它可以创建复杂的表达式。
例如 div>(header>div)+section>(ul>li*2>a)+footer>(div>span)可以生成下面的代码:
    <div>
        <header>
            <div></div>
        </header>
        <section>
            <ul>
                <li><a href=""></a></li>
                <li><a href=""></a></li>
            </ul>
            <footer>
                <div>
                    <span></span>
                </div>
            </footer>
        </section>
    </div>
ZenCoding[Emmet]語法簡介【轉】的更多相关文章
- 用Razor語法寫範本-RazorEngine組件介紹【转——非常好,可以用它来代替NVelocity】
		
RazorEngine 官網網址:http://razorengine.codeplex.com 在找到RazorEngine之前曾經想過其他的方案,如T4與V8 Engine載jquery.temp ...
 - 用Razor語法寫範本-RazorEngine組件介紹
		
最近剛好有要寫寄Email的程式,在代碼中寫HTML覺得很呆,抽出代碼外寫到txt或html檔當範本,由程式執行時在載入檔案時用Regex換關鍵字又覺得不夠好用,而且因為有時會有要判斷一些條件,就會寫 ...
 - Scripting Languages 簡介
		
Scripting Languages 簡介 何謂 Scripting? 命令稿語言 scripting language 是什麼? 很難給一個嚴格的定義; 不妨看看最具代表性的幾個例子: perl, ...
 - vue起步和模板語法
		
vue構造器里有哪些內容: var a=new Vue({}) 模板語法: 文本插值: html: html的屬性里的值應該使用v-bind: 表達式: 指令; 參數:v-bind,v-on 雙向用戶 ...
 - 查看LINQ Expression編譯後的SQL語法(转)
		
在用了LINQ語法之後的一個月,我幾乎把SQL語法全部拋到腦後了,不過 LINQ好用歸好用,但是實際上操作資料庫的還是SQL語法,如果不知道LINQ語法 編譯過後產生怎樣的SQL語法,一不小心效能就會 ...
 - Delphi APP 開發入門(六)Object Pascal 語法初探
		
Delphi APP 開發入門(六)Object Pascal 語法初探 分享: Share on facebookShare on twitterShare on google_plusone_sh ...
 - Java學習筆記(基本語法)
		
本文件是以學習筆記的概念為基礎,用於自我的複習紀錄,不過也開放各位的概念指證.畢竟學習過程中難免會出現觀念錯誤的問題.也感謝各位的觀念指證. 安裝JDK 在Oracle網站中找自己系統的JDK下載位置 ...
 - 開賣!下集 -- ASP.NET 4.5 專題實務(II)-範例應用與 4.5新功能【VB/C# 雙語法】
		
開賣!下集 -- ASP.NET 4.5 專題實務(II)-範例應用與 4.5新功能[VB/C# 雙語法] 我.....作者都沒拿到書呢! 全台灣最專業的電腦書店 -- 天瓏書局 已經開賣了! 感謝天 ...
 - 【转自CSDN】深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換
		
深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換 昨天又遇到一個簡繁轉換的需求, 雖然這個問題以前已經處理過了, 但是以前是用自己建立的 b52gb 和 gb ...
 
随机推荐
- 会话控制Session的应用
			
Session技术与Cookie相似,都是用来存储使用者的相关资料.但是最大不同之处在于Cookie是将数据存放于客户端计算机中,而Session则是将数据存放于服务器系统下. 在Web技术发展史上, ...
 - mysql全库搜索指定字符串
			
mysql全库搜索指定字符串 DELIMITER // DROP PROCEDURE IF EXISTS `proc_FindStrInAllDataBase`; # CALL `proc_FindS ...
 - LeetCode——Fizz Buzz
			
LeetCode--Fizz Buzz Question Write a program that outputs the string representation of numbers from ...
 - LuManager升级php5.6.27方法
			
LuManager自带的PHP在FastCGI模式是 5.2.17版,非FastCGI模式是 5.3.14版.由于360网盘的停服,已不敢再用那些免费的网盘,干脆自己搭个私有云.查了下相关资料准备先试 ...
 - Nodejs WEB开发常用库和框架
			
我在Nodejs的体系里也算泡了很久了,的确非常喜欢javascript和Nodejs. 在我看来,用nodejs做web开发有以下几个优点: Javascript作为一个语法异常简单的脚本语言,约束 ...
 - org.apache.log4j.Logger用法
			
在应用程序中添加日志记录总的来说基于三个目的 :监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作:跟踪代码运行时轨迹,作为日后审计的依据:担当集成开发环境中的调试器的作用,向文 ...
 - 深度学习框架TensorFlow在Kubernetes上的实践
			
什么是TensorFlow TensorFlow是谷歌在去年11月份开源出来的深度学习框架.开篇我们提到过AlphaGo,它的开发团队DeepMind已经宣布之后的所有系统都将基于TensorFlow ...
 - 今夜我们一起学习 Apache Shiro
			
简介 Apache Shiro 是一个功能强大但又非常容易使用的 Java 安全框架,提供了认证,授权,加密以及会话管理功能.因为 Shiro 的 API 是非常容易理解的,所以使用 Shiro 你可 ...
 - xlearn安装
			
xlearn简介 xLearn is a high performance, easy-to-use, and scalable machine learning package, which can ...
 - C#的静态构造函数.cctor
			
静态构造函数操作的是类(而非其实例的)成员.静态构造函数(.cctor)的一些特点:1. 声明和定义形式上,只能有static一个修饰符,不能有任何修饰符和返回值(也不能有void).2. 不能被显示 ...