HTML速写语法规则(Emmet)

1. 聊点闲话

今天大数据课程学习到前端可视化技术(拉勾教育大数据开发训练营),终于开始接触我不熟悉的内容了。
今天的课程主要包括HTML,CSS,JavaScript,JQuery,Ajax,Vue,Highcharts,ECharts...
好吧,说了一堆跟我的主题没有用的东西。

学习html之后,对于我们程序员而言如何能快速愉快的码代码,节约出来的时间就能做更多的事情,学更多的知识,今天给大家科普一个HTML速写语法规则,可以让我们更愉快的写出html代码。

什么是 Emmet 语法?简单来说,就是可以快速构建 HTML 结构的快捷语法。Emmet目前支持多种编辑器,包括一些主流编辑器和IDE,在线编辑器以及第三章插件的的支持。

下面我会通过使用VSCODE来给大家演示具体的一些语法使用。

在新建文档为html后缀的前提下,编辑器会帮你选择合适的插件(这里我已经安装了HTML CSS Support插件)


img

新建emmet.html,键入

输入html:5或者!按Tab或者回车,效果如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>

接下来我们先测试一下,体会一下Emmet的优越性

输入h1#a+h2#b+div.fa>div.child$$*3>span#say+span#talk+img.avaer[src=./img/$$.png alt={img $}],按Tab或者回车,效果如下:

    <h1 id="a"></h1>
    <h2 id="b"></h2>
    <div class="fa">
        <div class="child01">
            <span id="say"></span>
            <span id="talk"></span>
            <img src="./img/01.png" alt="img 1" class="avaer">
        </div>
        <div class="child02">
            <span id="say"></span>
            <span id="talk"></span>
            <img src="./img/02.png" alt="img 2" class="avaer">
        </div>
        <div class="child03">
            <span id="say"></span>
            <span id="talk"></span>
            <img src="./img/03.png" alt="img 3" class="avaer">
        </div>
    </div>

是不是感觉很强大,熟练使用以后,可以极大程度上加快我们编写HTML代码的速度。

2.规则

2.1 使用"#"输入id,"."输入class,"[]"输入属性

div#main.content

<div id="main" class="content"></div>

div#main.content.user

<div id="main" class="content user"></div>

div.content[alter=click]

<div class="content" alter="click"></div>
2.2 使用">"输入下级元素,"+"同级元素,"^"上一级元素

div>span
div+div
div>ul>li^h1

    <div><span></span></div>
    <div></div>
    <div></div>
    <div>
        <ul>
            <li></li>
        </ul>
        <h1></h1>
    </div>
2.3 使用"*"重复,"()"分组

div#father>ul>li.child*3

    <div id="father">
        <ul>
            <li class="child"></li>
            <li class="child"></li>
            <li class="child"></li>
        </ul>
    </div>

(div#father1>ul>li.child3)+(div#father2>ul>li.child4)

    <div id="father1">
        <ul>
            <li class="child"></li>
            <li class="child"></li>
            <li class="child"></li>
        </ul>
    </div>
    <div id="father2">
        <ul>
            <li class="child"></li>
            <li class="child"></li>
            <li class="child"></li>
            <li class="child"></li>
        </ul>
    </div>
2.4 使用"$"进行自增,使用@修饰可以完成修改起始数

ul>li.item$*3

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

注意: 每一个$代表一位数字

ul>li.item$$$@10*5

    <ul>
        <li class="item010"></li>
        <li class="item011"></li>
        <li class="item012"></li>
        <li class="item013"></li>
        <li class="item014"></li>
    </ul>
2.5 使用"{}"文本编辑

ul>li.item$$*3{我是第$个li标签}

    <ul>
        <li class="item01">我是第1个li标签</li>
        <li class="item02">我是第2个li标签</li>
        <li class="item03">我是第3个li标签</li>
    </ul>

注意: 可以和$配合使用

ul>li.item$$$@10*5

    <ul>
        <li class="item010"></li>
        <li class="item011"></li>
        <li class="item012"></li>
        <li class="item013"></li>
        <li class="item014"></li>
    </ul>
2.6 隐式标签
  • div标签

#id.classname

    <div id="id" class="classname"></div>
  • ul和ol的子标签li

ul>#child$*3

    <ul>
        <li id="child1"></li>
        <li id="child2"></li>
        <li id="child3"></li>
    </ul>

ol>.child*3

    <ol>
        <li class="child"></li>
        <li class="child"></li>
        <li class="child"></li>
    </ol>

select#type[name=ceshi]>#id$*3

    <select name="ceshi" id="type">
        <option id="id1"></option>
        <option id="id2"></option>
        <option id="id3"></option>
    </select>

诸如此类的隐式标签还有

  • tr:用于 table、tbody、thead 和 tfoot
  • td:用于 tr
  • option:用于 select 和 optgroup

3. 总而言之...

Emmet的语言规则不复杂,看完了记得去多写几遍,记住并熟练使用你也一样可以出去装个小逼了~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自博客 在前端开发的过程中,最费时间的工作就是写 HTML、CSS 代码。一堆的标签、属性、括号等,头疼。这里...
    梦晓半夏_d68a阅读 309评论 0 0
  • Emmet—写HTML/CSS快到飞起 在前端开发的过程中,最费时间的工作就是写 HTML、CSS 代码。一堆的标...
    夏天的技术博客阅读 558评论 0 0
  • 前端开发过程中总避免不了要写一些HTML和CSS,于是Emmet应运而生,它可以极大的简化我们写代码的流程,提高书...
    Adambee08阅读 1,254评论 0 6
  • 前言: HTML介绍分为3部分,第一部分是HTML简介及历史,第二部分是HTML元素,第三部分是实战及学习笔记。 ...
    Shaw007阅读 756评论 0 0
  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,601评论 16 22