首页 >web前端 >html教程 >Emmet:HTML/CSS代码快速编写技巧_html/css_WEB-ITnose

Emmet:HTML/CSS代码快速编写技巧_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:39:09925浏览

一、Emmet简介

Emmet的前身是Zen Coding,它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,由两个核心组件组成:一个缩写扩展器(缩写为像CSS一样的选择器)和上下文无关的HTML标签对匹配器。

二、快速编写HTML代码

1.初始化

  HTML文档需要包含一些固定的标签,比如,

,等,利用Emmet可以1秒钟就可以完成这些标签的输入。

比如:输入“!”或“html:5”,然后按Tab键,就能生成:

<!doctype html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title></head><body></body></html>

html:5或!:用于HTML5文档类型;

html:xt:用于XHTML过滤文档类型;

html:4s:用于HTML4严格文档类型。

2.轻松添加类,id,文本和属性

连续输入元素名称和ID,Emmet会自动补全,比如:输入p#foo,就能生成:

<p id="foo"></p>

连续输入类和id,比如:p.bar#foo,会自动生成:

<p class="bar" id="foo"></p>

定义元素的内容:

h1{内容}:

<h1>内容</h1>

定义元素的属性:

a[href=#]:

<a href="#"></a>

3.嵌套

利用Emmet只需一行代码就可以实现标签的嵌套:

>:子元素符号,表示嵌套的元素;

+:同级标签符号;

^:可以使用该符号前的标签提升一行。

比如:

p>span:

<p><span></span></p>

h1+h2:

<h1></h1><h2></h2>

p>span^p:

<p><span></span></p>

4.分组

利用Emmet可以通过嵌套和括号快速生成一些代码块,比如:输入(.foo>h1)+(#bar>h2),会自动生成:

<div class="foo">    <h1></h1></div><div id="bar">    <h2></h2></div>

5.隐式标签

申明一个带类的标签,只需输入div.item,就会自动生成:

<div class="item"></div>

在过去版本中,可以省略掉div,即输入.item即可生成

<div class="item"></div>。现在如果只输入.item,则Emmet会根据父标签进行判定。比如在
    中输入.item,就会生成
  • li:用于ul和ol中;

    tr:用于table、tbody、thead和tfoot中;

    td:用于tr中;

    option:用于select和optgroup中。

    6.定义多个元素

    要定义多个元素,可以使用符号*,比如:ul>li*5:

    <ul>    <li></li>    <li></li>    <li></li>    <li></li>    <li></li></ul>

    7.定义多个带属性的元素

    输入ul>li.item$*3,将会自动生成:

    <ul>    <li class="item1"></li>    <li class="item2"></li>    <li class="item3"></li></ul>

    三、CSS缩写

    1.值

    比如要定义元素的宽度,只需输入w100,即可生成:

    width: 100px;

    除了px,还可以生成其他单位,比如输入h10p+m5e,会生成:

    height: 10%;margin: 5em;

    单位别名列表:

    p:表示%;

    e:表示em;

    x:表示ex。

    2.模糊匹配

    如果有些缩写在写的时候拿捏不准,Emmet会根据输入的内容匹配最接近的语法,比如输入ov:h、ov-h、ovh和oh都会生成:

    overflow: hidden;

    3.供应商前缀

    如果输入非W3C标准的CSS属性,Emmet会自动加上供应商前缀,比如输入trs,则会生成:

     -webkit-transition: prop time; -moz-transition: prop time; -ms-transition: prop time; -o-transition: prop time; transition: prop time;

    如果不希望加上所有前缀,也可以使用缩写来指定,比如输入:-wm-trf,表示只加上-webkit和-moz前缀:

     -webkit-transform: ; -moz-transform: ; transform: ;

    前缀说些如下:

    w:表示-webkit-;

    m:表示-moz-;

    s:表示-ms-;

    o:表示-o-。

    4.渐变(webStorm不支持)

    输入lg(left,#fff 50%,#000),会自动生成:

    background-image: -webkit-gradient(linear, 0 0, 100% 0, color-stop(0.5, #fff), to(#000));  background-image: -webkit-linear-gradient(left, #fff 50%, #000);  background-image: -moz-linear-gradient(left, #fff 50%, #000);  background-image: -o-linear-gradient(left, #fff 50%, #000);  background-image: linear-gradient(left, #fff 50%, #000); 

    四、针对不同编辑器的插件

    Emmet支持如下编辑器:

    1.Sublime Text 2;

    2.TextMate 1.X;

    3.Eclipse/Aptana;

    4.Coda 1.6 and 2.x;

    5.Espresso;

    6.Chocolat(通过“Install Mixin”对话框添加);

    7.Komodo Edit/IDE(通过Tools → Add-ons菜单添加);

    8.Notepad++;

    9.PSPad;

    10.

    11.CodeMirror2/3;

    12.Brackets;

    13.WebStorm;

     

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn