HTML缩写

Emmet使用类似于CSS选择器的语法来描述元素在生成的树中的位置和元素的属性。

元素

  • 您可以使用元素的名字,如div或p以生成 HTML标签。
  • Emmet没有一组预定义的可用标签名称,您可以编写任何单词并将其转换为标签:div→

    ,foo→ 等。

嵌套运算符

嵌套运算符用于将缩写元素放置在生成的树内:是否将其放置在context元素内或附近。

父子元素 >

您可以使用 > 运算符将元素相互嵌套:

div>ul>li

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

兄弟元素 +

使用 + 运算符将元素彼此放置在同一水平上:

div+p+bq

<div></div>
<p></p>
<blockquote></blockquote>

爬升 ^

使用^运算符,您可以将树爬上一层并更改上下文,其中应显示以下元素:

div+div>p>span+em^bq

<div></div>
<div>
<p><span></span><em></em></p>
<blockquote></blockquote>
</div>

可以根据需要使用任意多个^运算符,每个运算符将上移一个级别:

乘法 *

使用*运算符,您可以定义元素应输出多少次:

ul>li*5

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

分组 ()

使用括号将复杂缩写的子树分组:

div>(header>ul>li*2>a)+footer>p

<div>
<header>
<ul>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</header>
<footer>
<p></p>
</footer>
</div>

如果您正在使用浏览器的DOM,则可以将组视为文档片段:每个组均包含缩写子树,并且以下所有与第一个元素相同的级别插入以下元素。

您可以将组彼此嵌套,并使用乘法*运算符将它们组合在一起:

(div>dl>(dt+dd)*3)+footer>p

<div>
<dl>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
<dt></dt>
<dd></dd>
</dl>
</div>
<footer>
<p></p>
</footer>

使用组,您可以用一个缩写字面意义写完整的页面标记,但是请不要这样做。

属性运算符

属性运算符用于修改输出元素的属性。例如,在HTML和XML中,您可以快速将class属性添加到生成的元素。

id和class

在CSS中,您可以使用elem#id和elem.class表示法来访问具有指定id或class属性的元素。在Emmet中,可以使用完全相同的语法将这些属性添加到指定的元素:

div#header+div.page+div#footer.class1.class2.class3

<div id="header"></div>
<div class="page"></div>
<div id="footer" class="class1 class2 class3"></div>

自定义属性 []

您可以使用[attr]符号(如CSS中一样)向元素添加自定义属性:

td[title="Hello world!" colspan=3]

<td title="Hello world!" colspan="3"></td>
  • 可以在方括号内放置任意数量的属性。
  • 不必指定属性值:td[colspan title]会 在每个空属性内使用制表符产生(如果您的编辑器支持它> 们)。
  • 可以使用单引号或双引号来引用属性值。
  • 如果值不包含空格,则无需引用它们:td[title=hello colspan=3]可以。

项目编号 $

随着乘法*运算符可以重复的元素,但是$你可以编号它们。将$运算符放在元素名称,属性名称或属性值内,以输出当前重复元素的数量:

ul>li.item$*5

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

您可以连续使用多个 $ 以零填充数字:

ul>li.item$$$*5

<ul>
<li class="item001"></li>
<li class="item002"></li>
<li class="item003"></li>
<li class="item004"></li>
<li class="item005"></li>
</ul>

更改编号基础和方向 @

使用@修饰符,您可以更改编号方向(升序或降序)和基数(例如起始值)。

例如,要更改方向,请在@-之后添加$:

ul>li.item$@-*5

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

要更改计数器的基本值,请在上添加@N修饰符$:

ul>li.item$@3*5

<ul>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
<li class="item6"></li>
<li class="item7"></li>
</ul>

您可以将这些修饰符一起使用:

ul>li.item$@-3*5

<ul>
<li class="item7"></li>
<li class="item6"></li>
<li class="item5"></li>
<li class="item4"></li>
<li class="item3"></li>
</ul>

文本 {}

您可以使用花括号将文本添加到元素:

a{Click me}

<a href="">Click me</a>

请注意,它{text}是作为单独的元素(如等)使用和解析的div,p但是紧接在元素后面时具有特殊的含义。例如,a{click}和a>{click}将产生相同的输出,但是a{click}+b{here}和a>{click}+b{here}不会:

<!-- a{click}+b{here} -->
<a href="">click</a><b>here</b> <!-- a>{click}+b{here} -->
<a href="">click<b>here</b></a>

在第二个示例中,元素放置在元素内部。那就是区别:当{text}在元素之后立即编写时,它不会更改父上下文。这是一个更复杂的示例,显示了为什么它很重要:

p>{Click }+a{here}+{ to continue}

<p>Click <a href="">here</a> to continue</p>

在此示例中,要写入Click here to continue内部

元素,我们必须使用>运算符after 显式地将其移至树下p,但是对于a元素而言,则不必这样做,因为我们只需要带有here单词的元素,而无需更改父上下文。

为了进行比较,这是不带子>运算符的相同缩写:

p{Click }+a{here}+{ to continue}

<p>Click </p>
<a href="">here</a> to continue

隐式生成的标签

span>.item

<span><span class="item"></span></span>

ul>.item

<ul>
<li class="item"></li>
</ul>

缩写注意事项

  • 运算符左右不要使用空格

“Lorem Ipsum” 构造器

  1. 您可以在缩写中指定应生成多少个单词。例如,lorem100将生成一个100字的伪文本。
  2. 您可以lorem在重复元素内使用生成器来创建填充有完全随机句子的标签。例如,p*4>lorem缩写将生成如下内容:
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui dicta minus molestiae vel beatae natus eveniet ratione temporibus aperiam harum alias officiis assumenda officia quibusdam deleniti eos cupiditate dolore doloribus!</p>
<p>Ad dolore dignissimos asperiores dicta facere optio quod commodi nam tempore recusandae. Rerum sed nulla eum vero expedita ex delectus voluptates rem at neque quos facere sequi unde optio aliquam!</p>
<p>Tenetur quod quidem in voluptatem corporis dolorum dicta sit pariatur porro quaerat autem ipsam odit quam beatae tempora quibusdam illum! Modi velit odio nam nulla unde amet odit pariatur at!</p>
<p>Consequatur rerum amet fuga expedita sunt et tempora saepe? Iusto nihil explicabo perferendis quos provident delectus ducimus necessitatibus reiciendis optio tempora unde earum doloremque commodi laudantium ad nulla vel odio?</p>
  1. 当元素是自重复元素时,lorem生成器会使用隐式标签名称解析器,lorem因此您可以缩短缩写:

    ul.generic-list>lorem10.item*4+
<ul class="generic-list">
<li class="item">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nam vero.</li>
<li class="item">Laboriosam quaerat sapiente minima nam minus similique illum architecto et!</li>
<li class="item">Incidunt vitae quae facere ducimus nostrum aliquid dolorum veritatis dicta!</li>
<li class="item">Tenetur laborum quod cum excepturi recusandae porro sint quas soluta!</li>
</ul>

emmet html缩写的更多相关文章

  1. [转载]Emmet (ZenCoding) 缩写语法

    Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 元素 可以使用元素名(如 div 或者 p)来生成 HTML 标签.Emmet 没有预定义的有效元素名的集合,可以 ...

  2. emmet css 缩写

    css 缩写 对于CSS语法,Emmet有许多用于属性的预定义代码段.例如,您可以扩展 m 缩写以获取margin: ;代码段. 要获取 margin: 10px;您可以简单地扩展m10缩写. 需要多 ...

  3. emmet快速缩写展开的基本写法与心得

    emmet的基本写法: .ct 点是class <div class="ct"></div> #ct 井号是id <div id="ct&q ...

  4. Emmet 语法大全(缩写语法/sublime 插件)

    Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 元素 可以使用元素名(如 div 或者 p)来生成 HTML 标签.Emmet 没有预定义的有效元素名的集合,可以 ...

  5. Emmet缩写语法

    缩写语法 Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 元素 可以使用元素名(如 div 或者 p)来生成 HTML 标签.Emmet 没有预定义的有效元素名的 ...

  6. Emmet使用

    emmet官方文档 [翻译]Emmet (ZenCoding) 缩写语法 <!-- ul>li.item$*5 --> <ul> <li class="i ...

  7. vim 中 也可以 直接安装 emmet 直接使用zen coding 生成 l指定个数的 lorem ipsum文字.

    超链接的写法: 当作为链接的文字, 比较长时, 整个作为链接 就显得不是 很适合. 可以取其中的某一个单词 作为 超链接的 关键字:如: click here to continue emmet中如何 ...

  8. Emmet 生成 HTML 的语法

    Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 元素 可以使用元素名(如 div 或者 p)来生成 HTML 标签.Emmet 没有预定义的有效元素名的集合,可以 ...

  9. VsCode中使用Emmet神器快速编写HTML代码

    一.Emmet简述 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具. 在前端开发的过程中,一大部分的工作是写 HTML.CSS 代码.特别是手动编写 HTML ...

随机推荐

  1. 垃圾邮件分类实战(SVM)

    1. 数据集说明 trec06c是一个公开的垃圾邮件语料库,由国际文本检索会议提供,分为英文数据集(trec06p)和中文数据集(trec06c),其中所含的邮件均来源于真实邮件保留了邮件的原有格式和 ...

  2. cloneable以及深拷贝和浅拷贝

    Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize). 该方法的签名是: protected native Object clone() th ...

  3. SpringCache

    官方文档:https://docs.spring.io/spring/docs/4.3.13.RELEASE/spring-framework-reference/htmlsingle/#cache ...

  4. CAP原则 (阿里)

    CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency).可用性(Availability).分区容错性(Partition tolerance).CAP 原则指的是,这三 ...

  5. RunTime.getRunTime().addShutdownHook的用法

    今天在阅读Tomcat源码的时候,catalina这个类中使用了下边的代码,不是很了解,所以google了一下,然后测试下方法,Tomcat中的相关代码如下: Runtime.getRuntime() ...

  6. thinkphp5---路由问题

    在做thinkphp的开发项目中,遇到一个需求:要求让网站的链接,必须以 .html结尾. 原因:在thinkphp开发的项目中,使用伪静态,路由格式:xxx.com/xxx/2.html ,但是后面 ...

  7. mongo 分片机如何建立库和实例(数据表)

    mongo分片创建表和实例 第一步:首先在admin账户下: mongo 'mongodb://root:abcccSRP@s-2ze333323gggg.mongodb.rds.aliyuncs.c ...

  8. Django入门2开发工具pycharm的配置

    在pycharm中新建django项目 查看django是否安装成功 运行django 设置pycharm快捷键 设置python模板,新建的python文件就会自动生成一些信息 设置django启动 ...

  9. Java学习-058-Jsoup爬虫获取中国所有的三级行政区划数据(三),处理二级编码缺失

    通过查看数据可知,直辖市或者某些三级行政区域没有对应的二级区域,为方便后续的地址使用,可自定义缺失的二级地址. 如下示例自定义的二级行政区域的名称为一级区域的名称,对应的源码如下所示: 将此段源码添加 ...

  10. row_number() over()分组排序功能 partition by 用于给结果集分组

    select * from ( select row_number() over(partition by Gid order by Gid ASC) as RowN, * from( select ...