欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node前端模板引擎Jade之標(biāo)簽的基本寫(xiě)法

 更新時(shí)間:2018年05月11日 13:39:01   作者:前端亂燉根號(hào)三  
這篇文章主要介紹了node前端模板引擎Jade之標(biāo)簽的基本寫(xiě)法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

1、文檔聲明

我們?cè)陂_(kāi)始寫(xiě)一個(gè) html 頁(yè)面的時(shí)候,首先要寫(xiě)上 DOCTYPE 文檔聲明的,現(xiàn)在通常情況下我們都是采用 HTML5 的文檔聲明方式,那么在 jade 里面我們應(yīng)該怎么寫(xiě)呢?

在 jade 里面編寫(xiě)文檔聲明有2種方式:

  1. 我們可以直接在 jade 文件里面寫(xiě) doctype html 即可
  2. jade 為我們提供了一個(gè)簡(jiǎn)單的寫(xiě)法,(不過(guò)好像 jade 在升級(jí)之后的新版本中不推薦使用此方法了 -_-||| )

當(dāng)然,jade 還默認(rèn)支持其他類型的文檔聲明,只需要使用 doctype 跟上下面的選項(xiàng)即可。jade 默認(rèn)支持的有:

var doctypes = exports.doctypes = {
 '5': '<!DOCTYPE html>',
 'xml': '<?xml version="1.0" encoding="utf-8" ?>',
 'default': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
 'transitional': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',
 'strict': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',
 'frameset': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">',
 '1.1': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
 'basic': '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">',
 'mobile': '<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd">'
};

doctype 對(duì)大小寫(xiě)是不敏感的, 所以下面兩個(gè)是一樣的效果:

doctype Default
doctype default

例如:如果我們要想寫(xiě) XHTML 1.0 Strict 文檔聲明,則可以這樣寫(xiě):

doctype strict

編譯結(jié)果如下:

復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

2、標(biāo)簽

jade 中的標(biāo)簽的寫(xiě)法非常的簡(jiǎn)單,就是一個(gè)單詞。

doctype html
html
 head
 title
 body

以上代碼會(huì)被編譯成:

<!DOCTYPE html>
<html>
 <head>
 <title></title>
 </head>
 <body></body>
</html>

jade 是以嚴(yán)格的縮進(jìn)來(lái)區(qū)分標(biāo)簽的開(kāi)始和結(jié)束的,默認(rèn)為2個(gè)空格表示縮進(jìn)。

如果我們要寫(xiě)一個(gè)標(biāo)簽并且?guī)в袃?nèi)容,比如說(shuō)要寫(xiě)一個(gè)標(biāo)題,我們只需要在標(biāo)簽單詞后面加一個(gè)空格,然后跟上內(nèi)容即可。

h1 this is a title.
p this is a paragraph.

編譯結(jié)果為:

 <h1>this is a title.</h1>
 <p>this is a paragraph.</p>

有的時(shí)候,我們會(huì)需要輸出一些特殊排版格式的文本或者是為了提高代碼的閱讀性,需要顯示出如下的效果:

<p>
  1. 001
  2. 002
  3. 003
  4. 004
</p>

那么我們?cè)?jade 中應(yīng)該怎么寫(xiě)呢,這里 jade 給我們提供了兩種方式,第一種是在每一行前面加上一個(gè) | 和空格:

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

第二種方法是:在標(biāo)簽名后面緊跟一個(gè) . 號(hào)。則此標(biāo)簽下面的內(nèi)容會(huì)被 jade 解析為一個(gè)代碼段:

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

這下有的同學(xué)就傻傻分不清了,這兩種方式到底有什么區(qū)別呢?這里我們就不得不說(shuō)到標(biāo)簽混排,如果我們有這樣一個(gè)需求,在上面的代碼中 1 的后面需要加一個(gè) strong 標(biāo)簽。

首先我們說(shuō)第一種情況下,我們的寫(xiě)法:

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

如果是第二種寫(xiě)法的話,我們就需要這樣寫(xiě):

p.
 1. 001
 <strong>aaa</strong>
 2. 002
 3. 003
 4. 004

編譯結(jié)果如下:

<p>
  1. 001
  <strong>aaa</strong>
  2. 002
  3. 003
  4. 004
</p>

3、標(biāo)簽的屬性和屬性值

h1 p 等等這些標(biāo)簽,我們通常都會(huì)給他們寫(xiě)上id & class屬性的,那么這在 jade 中應(yīng)該怎么寫(xiě)呢?和 zen coding 的語(yǔ)法一樣,我們只需要這樣寫(xiě):

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

編譯結(jié)果為:

<h1 id="id" class="class">this is a title.</h1>
<p id="j-text" class="text">this is a paragraph.</p>

等等,那我要是想添加多個(gè) class 怎么辦呢?這樣辦:

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

編譯結(jié)果為:

<h1 id="id" class="class1 class2 class3">this is a title.</h1>
<p id="j-text" class="text">this is a paragraph.</p>

什么?寫(xiě) div 寫(xiě)煩了?那就不寫(xiě)咯。

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

編譯結(jié)果為:

<div id="id" class="class"></div>
<div id="id" class="class1 class2">this is a div without tags.</div>

這里要說(shuō)明一下,在 jade 的語(yǔ)法里面,只有 div 標(biāo)簽?zāi)軌蚴÷圆粚?xiě).

說(shuō)完了 id 和 class,我們?cè)賮?lái)說(shuō)一下標(biāo)簽其他的屬性應(yīng)該怎么添加。jade 里添加其他屬性和值的語(yǔ)法也和 zen coding 類似,我們需要在標(biāo)簽后面加上小括號(hào)(),然后按照(屬性名=屬性值)的格式寫(xiě)就好了,如果有多個(gè)屬性,中間以逗號(hào)進(jìn)行分割。

比如上面的 id 和 class 的寫(xiě)法我們就可以改寫(xiě)成:

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

結(jié)果是一樣的:

<h1 id="id" class="class">this is a title.</h1>
<p id="j-text" class="text">this is a paragraph.</p>

說(shuō)來(lái)說(shuō)去還是這兩個(gè)屬性,煩了?那我們換一個(gè)吧:

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

編譯結(jié)果為:

<a herf="/index.html" title="this is a link." target="_blank" data-uid="1000">index.html</a>

那么問(wèn)題就來(lái)了,如果我們要寫(xiě)一個(gè)單屬性應(yīng)該怎么寫(xiě)?比如給表單元素添加 checked屬性:

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

編譯結(jié)果為:

<input type="checkbox" name="all" checked="checked" value="全選"/>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • koa2上傳文件及https配置實(shí)現(xiàn)教程

    koa2上傳文件及https配置實(shí)現(xiàn)教程

    這篇文章主要為大家介紹了koa2上傳文件及https配置實(shí)現(xiàn)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • nodejs利用http模塊實(shí)現(xiàn)銀行卡所屬銀行查詢和騷擾電話驗(yàn)證示例

    nodejs利用http模塊實(shí)現(xiàn)銀行卡所屬銀行查詢和騷擾電話驗(yàn)證示例

    本篇文章主要介紹了nodejs利用http模塊實(shí)現(xiàn)銀行卡所屬銀行查詢和騷擾電話驗(yàn)證示例,有興趣的可以了解一下。
    2016-12-12
  • nodejs實(shí)現(xiàn)獲取本地文件夾下圖片信息功能示例

    nodejs實(shí)現(xiàn)獲取本地文件夾下圖片信息功能示例

    這篇文章主要介紹了nodejs實(shí)現(xiàn)獲取本地文件夾下圖片信息功能,涉及node.js針對(duì)文件、目錄的遍歷、讀取等相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Node.js使用定時(shí)器的三種方法

    Node.js使用定時(shí)器的三種方法

    在Node.js中使用定時(shí)器是一項(xiàng)常見(jiàn)且重要的任務(wù),本文主要介紹了Node.js使用定時(shí)器的三種方法,包括setTimeout、setInterval和setImmediate等方法,感興趣的可以了解一下
    2024-02-02
  • 關(guān)于NodeJS中的循環(huán)引用詳解

    關(guān)于NodeJS中的循環(huán)引用詳解

    這篇文章主要給大家介紹了關(guān)于NodeJS中的循環(huán)引用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用NodeJS具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • node.js中的fs.fstatSync方法使用說(shuō)明

    node.js中的fs.fstatSync方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.fstatSync方法使用說(shuō)明,本文介紹了fs.fstatSync的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node微信開(kāi)發(fā)之獲取access_token+自定義菜單

    node微信開(kāi)發(fā)之獲取access_token+自定義菜單

    這篇文章主要介紹了node微信開(kāi)發(fā)之獲取access_token+自定義菜單,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • node.js使用express-fileupload中間件實(shí)現(xiàn)文件上傳

    node.js使用express-fileupload中間件實(shí)現(xiàn)文件上傳

    本文使用express作為服務(wù)端,使用express-fileupload庫(kù)提供的中間件函數(shù)來(lái)接受從客戶端傳來(lái)的圖片,并將圖片作為文件存儲(chǔ)在服務(wù)端,感興趣的可以了解一下
    2021-07-07
  • nodejs和npm版本不匹配報(bào)錯(cuò)的解決方法

    nodejs和npm版本不匹配報(bào)錯(cuò)的解決方法

    當(dāng)公司要求使用固定nodejs的版本時(shí),自己不小心更新了npm,就會(huì)導(dǎo)致npm和nodejs不匹配,下面這篇文章主要給大家介紹了關(guān)于nodejs和npm版本不匹配報(bào)錯(cuò)的解決方法,需要的朋友可以參考下
    2023-04-04
  • nodejs 終端打印進(jìn)度條實(shí)例代碼

    nodejs 終端打印進(jìn)度條實(shí)例代碼

    本篇文章主要介紹了nodejs 終端打印進(jìn)度條實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04

最新評(píng)論