您的位置:首页 > Web前端 > HTML

emmet html缩写

2019-11-26 04:53 1026 查看

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: