博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML代码简写法:Emmet和Haml
阅读量:6607 次
发布时间:2019-06-24

本文共 1668 字,大约阅读时间需要 5 分钟。

HTML代码写起来很费事,因为它的标签多。

bg2013061101.jpg

一种解决方法是采用, 在别人写好的骨架内,填入自己的内容。还有一种就是我今天想要介绍的方法----简写法。

常用的简写法,目前主要是和两种,本文都将加以介绍。

bg2013061102.jpg
bg2013061103.jpg

这两种简写法,功能相近,各有特点。考虑到Haml基于Ruby语言,我建议Ruby/Rails项目使用Haml,其他项目使用Emmet。

bg2013061104.jpg

一、Emmet的用法

是一个编辑器插件,官方网站提供。我一般使用,下面就以举例。

首先,按照进行安装。然后,新建一个文本文件,键入

  html:5

按一下"<Ctr+y>,"(先按ctrl键+y键,然后再按逗号键,不同的编辑器有不同的转化键),这一行就立刻变成下面的样子。

   

这就是Emmet的基本用法:先写简写形式,然后用"<Ctrl+y>,"将其转成HTML代码。

Emmet支持的简写规则,类似于(大写的E代表一个HTML标签):

  1. E 代表HTML标签。  2. E#id 代表id属性。  3. E.class 代表class属性。  4. E[attr=foo] 代表某一个特定属性。  5. E{foo} 代表标签包含的内容是foo。  6. E>N 代表N是E的子元素。  7. E+N 代表N是E的同级元素。  8. E^N 代表N是E的上级元素。  

请看下面的例子。

  p    p#main.item    a[href=http://wikipedia.org]{
维基百科}    div>p    div+p    p>span^div  

对应的HTML代码为:

维基百科

Emmet还提供了连写(E*N)和自动编号(E$*N)功能。

  li*3>a    div#item$.class$$*3

对应的HTML代码为

  • 下面是另外一些简写的例子,读者可以自行测试,看看它们转化成怎样的HTML代码。

      header+main+footer    table>(thead>tr>th*5)(tbody>tr>td*5)    nav>ul>(li>a[href=#]{Link})*5

    Emmet使用按键"<Ctrl+y>/",让一个代码块变成HTML注释。更多功能请参考以下链接:

      * Zeno Rocha,

      * Sergey Chikuyonok,

      * Joshua Johnson,

      *

    二、Haml的用法

    Haml不同于emmet,它是一个命令行工具。需要先,再安装Haml。

      gem install haml  

    使用时,用命令行将haml文件一次性转为html文件。

      haml input.haml output.html  

    haml的简化规则如下:

    1. !!! 5 代表  2. %E 代表HTML标签。  3. %E#id 代表id属性。 4. %E.class 代表class属性。  5. %E(attr="xxx") 代表某一个特定属性。  6. %E XXX 代表插入标签的内容。  7. %E %N 代表N是E的子元素。N如果写在第二行,需要缩进。  

    下面是Haml的代码示例,代码块的层级关系用缩进表示。

    !!! 5 %html{
    lang: 'en'} %head      %title Haml Demo    %body      %h1 Hello World      %a(href="" title="Wikipedia") 维基百科  

    对应的HTML代码为:

       Haml Demo   

    Hello World

    维基百科

    在Haml中,"/ "起首的行表示HTML注释,"-# "起首的行表示Haml注释。 更多功能请参考以下链接。

      * Nick Walsh,

      * Ian Oxley,

      *

    (完)

    转载地址:http://jzdso.baihongyu.com/

    你可能感兴趣的文章
    ubuntu sublime text中文输入法和乱码问题
    查看>>
    病人spark处理-元组和case class 对数据进行结构化
    查看>>
    CSS布局1:用三个div实现左右两列固定,中间自适应
    查看>>
    Nginx功能配置(反向代理、SSL)
    查看>>
    linux杂项
    查看>>
    数组的 基本操作 【增删查改】
    查看>>
    IT兄弟连 JavaWeb教程 AJAX常见问题
    查看>>
    感谢,终于有人把云计算、大数据和人工智能讲明白了!
    查看>>
    FtpUtil
    查看>>
    swift中的新特性
    查看>>
    本地新建代码如何推送到远程git上
    查看>>
    Maven3 上传第三方jar(无源码)
    查看>>
    华硕G55VW-DS71(ASUS G55VW-DS71参数)
    查看>>
    在生产环境中对Nginx平滑升级
    查看>>
    AngularJS页面数据绑定设置默认值
    查看>>
    Angular - - $sce 和 $sceDelegate & ionic1 (angular1.5.3)
    查看>>
    AngularJS 设置img (ng-src 和 src 区别)
    查看>>
    mutable和volatile
    查看>>
    9 - 支持 Markdown 语法和代码高亮
    查看>>
    lucene IK分词器 同义词
    查看>>