阅读更多

27顶
0踩

Web前端

原创新闻 Emmet:HTML/CSS代码快速编写神器

2013-04-16 17:40 by 副主编 wangguo 评论(17) 有435218人浏览
Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生。它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示:


Zen coding下的编码演示


去年年底,该插件已经改名为Emmet。但Emmet不只改名,还带来了一些新特性。本文就来直观地演示给你。

一、快速编写HTML代码

1.  初始化

HTML文档需要包含一些固定的标签,比如<html>、<head>、<body>等,现在你只需要1秒钟就可以输入这些标签。比如输入“!”或“html:5”,然后按Tab键:



  • html:5 或!:用于HTML5文档类型
  • html:xt:用于XHTML过渡文档类型
  • html:4s:用于HTML4严格文档类型
2.  轻松添加类、id、文本和属性

连续输入元素名称和ID,Emmet会自动为你补全,比如输入p#foo:



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

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

下面来看看如何定义HTML元素的内容和属性。你可以通过输入h1{foo}和a[href=#],就可以自动生成如下代码:

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



3.  嵌套

现在你只需要1行代码就可以实现标签的嵌套。

  • >:子元素符号,表示嵌套的元素
  • +:同级标签符号
  • ^:可以使该符号前的标签提升一行
效果如下图所示:



4.  分组

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

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



5.  隐式标签

声明一个带类的标签,只需输入div.item,就会生成<div class="item"></div>。

在过去版本中,可以省略掉div,即输入.item即可生成<div class="item"></div>。现在如果只输入.item,则Emmet会根据父标签进行判定。比如在<ul>中输入.item,就会生成<li class="item"></li>。



下面是所有的隐式标签名称:

  • li:用于ul和ol中
  • tr:用于table、tbody、thead和tfoot中
  • td:用于tr中
  • option:用于select和optgroup中
6.  定义多个元素

要定义多个元素,可以使用*符号。比如,ul>li*3可以生成如下代码:

<ul>
  <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.  附加属性

可能你之前已经了解了一些缩写,比如 @f,可以生成:

@font-face {
  font-family:;
  src:url();
}

一些其他的属性,比如background-image、border-radius、font、@font-face,text-outline、text-shadow等额外的选项,可以通过“+”符号来生成,比如输入@f+,将生成:

@font-face {
  font-family: 'FontName';
  src: url('FileName.eot');
  src: url('FileName.eot?#iefix') format('embedded-opentype'),
     url('FileName.woff') format('woff'),
     url('FileName.ttf') format('truetype'),
     url('FileName.svg#FontName') format('svg');
  font-style: normal;
  font-weight: normal;
}



3.  模糊匹配

如果有些缩写你拿不准,Emmet会根据你的输入内容匹配最接近的语法,比如输入ov:h、ov-h、ovh和oh,生成的代码是相同的:

overflow: hidden;



4.  供应商前缀

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

-webkit-transform: ;
-moz-transform: ;
-ms-transform: ;
-o-transform: ;
transform: ;



你也可以在任意属性前加上“-”符号,也可以为该属性加上前缀。比如输入-super-foo:

-webkit-super-foo: ;
-moz-super-foo: ;
-ms-super-foo: ;
-o-super-foo: ;
super-foo: ;

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

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

前缀缩写如下:

  • w 表示 -webkit-
  • m 表示 -moz-
  • s 表示 -ms-
  • o 表示 -o-
5.  渐变

输入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);



三、附加功能

生成Lorem ipsum文本

Lorem ipsum指一篇常用于排版设计领域的拉丁文文章,主要目的是测试文章或文字在不同字型、版型下看起来的效果。通过Emmet,你只需输入lorem 或 lipsum即可生成这些文字。还可以指定文字的个数,比如lorem10,将生成:

引用
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Libero delectus.



四、定制

你还可以定制Emmet插件:


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

Emmet支持的编辑器如下(链接为针对该编辑器的Emmet插件):

相关文档:http://docs.emmet.io/(其中包含了一个Demo,你可以试验文中所提到的这些缩写)

Via smashingmagazine
  • 大小: 122.9 KB
  • 大小: 48.2 KB
  • 大小: 13 KB
  • 大小: 15.8 KB
  • 大小: 26.4 KB
  • 大小: 26.8 KB
  • 大小: 25.1 KB
  • 大小: 18.7 KB
  • 大小: 28.9 KB
  • 大小: 36 KB
  • 大小: 78.7 KB
  • 大小: 61 KB
  • 大小: 111.1 KB
  • 大小: 94.8 KB
  • 大小: 23 KB
27
0
评论 共 17 条 请登录后发表评论
17 楼 hejinguo727 2016-05-03 14:13
神器啊。。。
16 楼 yanhaijing 2014-12-25 11:12
这么酷炫,赞
15 楼 FLOWER1987 2013-05-23 15:35
不支持ftl文件吗 只支持扩展名为html的文件?
14 楼 naryCC 2013-05-07 14:18
效率是成功的10%
13 楼 meichen8050753 2013-04-18 13:22
神器啊。。。
12 楼 cyruscript 2013-04-18 12:17
在MyEclipse 2013下试过,与hibernate插件有冲突.
11 楼 wgy_java 2013-04-18 10:46
这么酷@!
10 楼 akandfxs 2013-04-18 09:20
特意登陆顶神器。
9 楼 ivension 2013-04-17 21:39
神器,MARK一下。
8 楼 weng 2013-04-17 21:06
神器   
7 楼 toolog 2013-04-17 16:19
见识过!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6 楼 yjc2020 2013-04-17 14:24
wangguo 写道
yjc2020 写道
eclipse 插件 403

https://github.com/emmetio/emmet-eclipse



Go to Help > Install New Software… in your Eclipse IDE
Add http://emmet.io/eclipse/updates/ in update sites
Check Emmet for Eclipse group in available plugins list, click Next button and follow the installation instructions
Restart Eclipse
5 楼 wangguo 2013-04-17 10:10
yjc2020 写道
eclipse 插件 403

https://github.com/emmetio/emmet-eclipse
4 楼 yjc2020 2013-04-17 09:46
eclipse 插件 403
3 楼 cyruscript 2013-04-16 21:13
freezingsky 写道
。。。这种编码很是神奇,但对于开发者而言,相当于学多门语言。。。

语法很简单,会基本css语法基本可以在非常短的时间就可以把常用的语法掌握。
2 楼 freezingsky 2013-04-16 20:29
。。。这种编码很是神奇,但对于开发者而言,相当于学多门语言。。。
1 楼 cyruscript 2013-04-16 20:23
$符号得到加强,不过支持最好是SublimeText. DW等真没支持。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Emmet for Sublime Text 3 HTML/CSS代码快速编写神器

    Sublime Text 3的HTML/CSS代码快速编写神器:Emmet,使用方法:直接解压到Sublime Text 3安装路径下,如C:\Software\Sublime Text3\Emmet,注意Emmet文件名的大小写。

  • html自动补全pspad,Emmet:HTML/CSS 代码快速编写神器

    它使用仿 CSS 选择器的语法来生成代码,大大提高了 HTML/CSS 代码编写的速度,比如下面的演示:Zen coding 下的编码演示去年年底,该插件已经改名为 Emmet。但 Emmet 不只改名,还带来了一些新特性。本文就来直观地...

  • Emmet:HTML/CSS代码快速编写神器

    如何使用phpstorm,快速生成html代码,详细看转载的文章。

  • emmet:HTML/CSS代码快速编写神器

    在 Sublime text 2 中安装 Emmet Sbulime text 2 安装插件肯定要通过 Package Control 这个插件了,如果你还没有安装这个插件,抓紧先去安装一下吧。安装完成之后,我们摁下“shift + ctrl + p”呼出面板,输入...

  • 2024java面试题

    2024年的Java面试题可能涵盖多个方面,包括Java基础知识、面向对象编程、集合框架、多线程与并发编程、JVM与性能优化、设计模式、Spring框架等。以下是一些可能出现在2024年Java面试中的题目及其简要答案: 一、Java基础知识 面向对象的特征有哪些? 抽象:忽略主题中与当前目标无关的部分,以便更关注与当前目标有关的部分。 继承:允许新类继承现有类的属性和方法,实现代码重用。 封装:将对象的状态信息隐藏在对象内部,不允许外部直接访问,而是通过公共方法进行访问和操作。 多态性:允许不同类的对象对同一消息作出响应,实现接口重用。 作用域public, private, protected, 以及不写时的区别是什么? public:任何地方都可以访问。 private:只能在本类内部访问。 protected:可以在同一包内及不同包中的子类里访问。 不写(默认,也称为default):只能在同一包内访问。 int和Integer有什么区别? int是Java的原始数据类型,存储在栈内存中。 Integer是Java为int提供的封装类,存储在堆内存中,可以表示null。 二、

  • C课程设计之职工管理系统

    C课程设计之职工管理系统 C语言开发,可以使用dev-C++或者其他C编程软件打开编译运行 喜欢的同学,可以拿去使用

  • PyOpenGL_accelerate-3.1.7-cp39-cp39-win_amd64.whl

    PyOpenGL_accelerate-3.1.7-cp39-cp39-win_amd64.whl

  • 【创新发文无忧】Matlab实现鲸鱼优化算法WOA-Kmean-Transformer-GRU故障诊断算法研究.rar

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手

  • 单片机控制的频率跟踪超声波电源的研究

    输出频率与谐振频率不匹配,从而使清洗效果不佳。超声波电源是超声清洗机的核心部分,为实现其高效稳定的工作,需要对其工作频率进行自动跟踪控制。为此,本文设计了基于单片机PIC16F886为控制核心的超声波电源,其额定输出功率为600W,工作频率为20kHz,并实现了对频率的实时跟踪控制。

  • 【创新发文无忧】Matlab实现开普勒优化算法KOA-Kmean-Transformer-GRU故障诊断算法研究.rar

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手

  • 城市路灯集中管控和能耗监测系统软件设计方案.doc

    城市路灯集中管控和能耗监测系统软件设计方案.doc

  • Elman神经网络的数据预测----电力负荷预测模型研究.rar

    神经网络的matlab案例,本案例介绍如下: 技术深度:案例详细介绍了如何使用MATLAB进行深度学习模型的构建、训练和测试。 实际应用:通过具体的图像识别任务,展示模型的实际应用效果,让你直观感受神经网络的强大能力。 代码解析:提供完整的MATLAB代码,并对关键部分进行详细注释,帮助你理解每一步的工作原理。 优化策略:探讨不同的训练策略和参数调整方法,优化模型性能。

  • LIBSVM参数实例详解.rar

    神经网络的matlab案例,本案例介绍如下: 技术深度:案例详细介绍了如何使用MATLAB进行深度学习模型的构建、训练和测试。 实际应用:通过具体的图像识别任务,展示模型的实际应用效果,让你直观感受神经网络的强大能力。 代码解析:提供完整的MATLAB代码,并对关键部分进行详细注释,帮助你理解每一步的工作原理。 优化策略:探讨不同的训练策略和参数调整方法,优化模型性能。

  • 视频监控系统需求设计说明书.doc

    视频监控系统需求设计说明书.doc

  • DirectShow过滤器-H264解码器

    本解码器将H264视频流,解码为YUV视频流。 参见介绍文章:https://blog.csdn.net/h3974/article/details/140724236?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22140724236%22%2C%22source%22%3A%22h3974%22%7D 过滤器名称:H264解码器 过滤器GUID:{54588DC2-9BE5-42C8-90FB-D803FCF28828} DLL注册函数名:DllRegisterServer 删除注册函数名:DllUnregisterServer 过滤器有1个输入引脚和1个输出引脚。 输入引脚媒体类型: 主要类型:MEDIATYPE_Video 子类型:MEDIASUBTYPE_H264 输出引脚媒体类型: 主要类型:MEDIATYPE_Video 子类型:YUV类型(共5个)

  • QtInstallerFramework-windows-x64-4.6.1

    Qt IFW(Qt Installer Framework 的简称 ),是由 Qt 官方提供的安装程序制作框架。在Windows上基于Qt IFW进行程序安装包程序制作会使用到此包。

  • Streamlit app with HuggingFace transformers and OpenAI models fo

    Streamlit app with HuggingFace transformers and OpenAI models for dessert suggestions

  • C++字体解析库SDK

    { "coreVersion": "1.0.0", "freetypeVersion": "2.13.2", "size": "2754428", "sha1": "86f918b669bdb3a329524458fed08fc0758c299a", "path": "C:\\Windows\\Fonts\\Arial.ttf", "face": [ { "version": "Version 2.008", "familys": [ { "familyName": "Noto Sans", "language": "en-US", "tr": "英语(美国)", "encode": "UTF-16BE" } ], "styleNames": [ { "styleName": "Regular", "language": "en-US", "tr": "英语(美国)", "encode": "UTF-16BE" }

  • 【JCR2区】Matlab实现北方苍鹰优化算法NGO-LSSVM实现数据分类算法研究.rar

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 5.作者介绍:某大厂资深算法工程师,从事Matlab算法仿真工作10年;擅长智能优化算法、神经网络预测、信号处理、元胞自动机等多种领域的算法仿真实验,更多仿真源码、数据集定制私信+。 替换数据可以直接使用,注释清楚,适合新手

Global site tag (gtag.js) - Google Analytics