node前端模板引擎Jade之标签的写法分析

这篇文章主要为大家展示了“node前端模板引擎Jade之标签的写法分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“node前端模板引擎Jade之标签的写法分析”这篇文章吧。

成都创新互联服务项目包括昌吉网站建设、昌吉网站制作、昌吉网页制作以及昌吉网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,昌吉网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到昌吉省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

1、文档声明

我们在开始写一个 html 页面的时候,首先要写上 DOCTYPE 文档声明的,现在通常情况下我们都是采用 HTML5 的文档声明方式,那么在 jade 里面我们应该怎么写呢?

在 jade 里面编写文档声明有2种方式:

  1. 我们可以直接在 jade 文件里面写 doctype html 即可

  2. jade 为我们提供了一个简单的写法,(不过好像 jade 在升级之后的新版本中不推荐使用此方法了 -_-||| )

当然,jade 还默认支持其他类型的文档声明,只需要使用 doctype 跟上下面的选项即可。jade 默认支持的有:

var doctypes = exports.doctypes = {
 '5': '',
 'xml': '',
 'default': '',
 'transitional': '',
 'strict': '',
 'frameset': '',
 '1.1': '',
 'basic': '',
 'mobile': ''
};

doctype 对大小写是不敏感的, 所以下面两个是一样的效果:

doctype Default
doctype default

例如:如果我们要想写 XHTML 1.0 Strict 文档声明,则可以这样写:

doctype strict

编译结果如下:

复制代码 代码如下:

2、标签

jade 中的标签的写法非常的简单,就是一个单词。

doctype html
html
 head
 title
 body

以上代码会被编译成:



 
 
 
 

jade 是以严格的缩进来区分标签的开始和结束的,默认为2个空格表示缩进。

如果我们要写一个标签并且带有内容,比如说要写一个标题,我们只需要在标签单词后面加一个空格,然后跟上内容即可。

h2 this is a title.
p this is a paragraph.

编译结果为:

 

this is a title.


 

this is a paragraph.

有的时候,我们会需要输出一些特殊排版格式的文本或者是为了提高代码的阅读性,需要显示出如下的效果:


  1. 001
  2. 002
  3. 003
  4. 004

那么我们在 jade 中应该怎么写呢,这里 jade 给我们提供了两种方式,第一种是在每一行前面加上一个 | 和空格:

p
 | 1. 001
 | 2. 002
 | 3. 003
 | 4. 004

第二种方法是:在标签名后面紧跟一个 . 号。则此标签下面的内容会被 jade 解析为一个代码段:

p.
 1. 001
 2. 002
 3. 003
 4. 004

这下有的同学就傻傻分不清了,这两种方式到底有什么区别呢?这里我们就不得不说到标签混排,如果我们有这样一个需求,在上面的代码中 1 的后面需要加一个 strong 标签。

首先我们说第一种情况下,我们的写法:

p
 | 1. 001
 strong aaa
 | 2. 002
 | 3. 003
 | 4. 004

如果是第二种写法的话,我们就需要这样写:

p.
 1. 001
 aaa
 2. 002
 3. 003
 4. 004

编译结果如下:


  1. 001
  aaa
  2. 002
  3. 003
  4. 004

3、标签的属性和属性值

h2 p 等等这些标签,我们通常都会给他们写上id & class属性的,那么这在 jade 中应该怎么写呢?和 zen coding 的语法一样,我们只需要这样写:

h2#id.class this is a title.
p#j-text.text this is a paragraph.

编译结果为:

this is a title.


this is a paragraph.

等等,那我要是想添加多个 class 怎么办呢?这样办:

h2#id.class1.class2.class3 this is a title.
p#j-text.text this is a paragraph.

编译结果为:

this is a title.


this is a paragraph.

什么?写 div 写烦了?那就不写咯。

#id.class
#id.class1.class2 this is a div without tags.

编译结果为:


this is a div without tags.

这里要说明一下,在 jade 的语法里面,只有 div 标签能够省略不写.

说完了 id 和 class,我们再来说一下标签其他的属性应该怎么添加。jade 里添加其他属性和值的语法也和 zen coding 类似,我们需要在标签后面加上小括号(),然后按照(属性名=属性值)的格式写就好了,如果有多个属性,中间以逗号进行分割。

比如上面的 id 和 class 的写法我们就可以改写成:

h2(id="id", class="class") this is a title.
p(id="j-text", class="text") this is a paragraph.

结果是一样的:

this is a title.


this is a paragraph.

说来说去还是这两个属性,烦了?那我们换一个吧:

a(herf="/index.html", title="this is a link.", target="_blank", data-uid="1000") index.html

编译结果为:

index.html

那么问题就来了,如果我们要写一个单属性应该怎么写?比如给表单元素添加 checked属性:

input(type="checkbox", name="all", checked, value="全选")

编译结果为:

以上是“node前端模板引擎Jade之标签的写法分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


网页标题:node前端模板引擎Jade之标签的写法分析
网站路径:http://ybzwz.com/article/jgjcgg.html