最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node前端模板引擎Jade之標簽的基本寫法

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

1、文檔聲明

我們在開始寫一個 html 頁面的時候,首先要寫上 DOCTYPE 文檔聲明的,現(xiàn)在通常情況下我們都是采用 HTML5 的文檔聲明方式,那么在 jade 里面我們應該怎么寫呢?

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

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

當然,jade 還默認支持其他類型的文檔聲明,只需要使用 doctype 跟上下面的選項即可。jade 默認支持的有:

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 對大小寫是不敏感的, 所以下面兩個是一樣的效果:

doctype Default
doctype default

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

doctype strict

編譯結果如下:

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

2、標簽

jade 中的標簽的寫法非常的簡單,就是一個單詞。

doctype html
html
 head
 title
 body

以上代碼會被編譯成:

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

jade 是以嚴格的縮進來區(qū)分標簽的開始和結束的,默認為2個空格表示縮進。

如果我們要寫一個標簽并且?guī)в袃热?,比如說要寫一個標題,我們只需要在標簽單詞后面加一個空格,然后跟上內容即可。

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

編譯結果為:

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

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

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

那么我們在 jade 中應該怎么寫呢,這里 jade 給我們提供了兩種方式,第一種是在每一行前面加上一個 | 和空格:

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

第二種方法是:在標簽名后面緊跟一個 . 號。則此標簽下面的內容會被 jade 解析為一個代碼段:

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

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

首先我們說第一種情況下,我們的寫法:

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

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

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

編譯結果如下:

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

3、標簽的屬性和屬性值

h1 p 等等這些標簽,我們通常都會給他們寫上id & class屬性的,那么這在 jade 中應該怎么寫呢?和 zen coding 的語法一樣,我們只需要這樣寫:

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

編譯結果為:

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

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

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

編譯結果為:

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

什么?寫 div 寫煩了?那就不寫咯。

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

編譯結果為:

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

這里要說明一下,在 jade 的語法里面,只有 div 標簽能夠省略不寫.

說完了 id 和 class,我們再來說一下標簽其他的屬性應該怎么添加。jade 里添加其他屬性和值的語法也和 zen coding 類似,我們需要在標簽后面加上小括號(),然后按照(屬性名=屬性值)的格式寫就好了,如果有多個屬性,中間以逗號進行分割。

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

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

結果是一樣的:

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

說來說去還是這兩個屬性,煩了?那我們換一個吧:

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

編譯結果為:

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

那么問題就來了,如果我們要寫一個單屬性應該怎么寫?比如給表單元素添加 checked屬性:

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

編譯結果為:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • node.js基于mongodb的搜索分頁示例

    node.js基于mongodb的搜索分頁示例

    本篇文章主要介紹了node.js基于mongodb的搜索分頁示例,mongodb分頁很簡單,這里整理了詳細的代碼,有需要的小伙伴可以參考下。
    2017-01-01
  • Node.js?中的?module.exports?與?exports區(qū)別介紹

    Node.js?中的?module.exports?與?exports區(qū)別介紹

    這篇文章主要介紹了Node.js中的module.exports與exports區(qū)別介紹,每個模塊中都有module對象,存放了當前模塊相關的信息,更多相關內容需要的朋友可以參考一下
    2022-09-09
  • nodejs 使用nodejs-websocket模塊實現(xiàn)點對點實時通訊

    nodejs 使用nodejs-websocket模塊實現(xiàn)點對點實時通訊

    這篇文章主要介紹了nodejs 使用nodejs-websocket模塊實現(xiàn)點對點實時通訊的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • 如何使用Node.js遍歷文件夾詳解

    如何使用Node.js遍歷文件夾詳解

    目錄遍歷挺常見,操作一個文件夾里的所有文件,替換或者添加刪除某些東西是非常普遍的操作,這篇文章主要給大家介紹了關于如何使用Node.js遍歷文件夾的相關資料,需要的朋友可以參考下
    2022-03-03
  • Node.js如何對SQLite的async/await封裝詳解

    Node.js如何對SQLite的async/await封裝詳解

    這篇文章主要給大家介紹了關于Node.js如何對SQLite的async/await進行封裝的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • Node.js設置定時任務之node-schedule模塊的使用詳解

    Node.js設置定時任務之node-schedule模塊的使用詳解

    node-schedule是 Node.js 的一個定時任務(crontab)模塊。這篇文章主要介紹了Node.js設置定時任務之node-schedule模塊的使用,需要的朋友可以參考下
    2020-04-04
  • node.js域名解析實現(xiàn)方法詳解

    node.js域名解析實現(xiàn)方法詳解

    這篇文章主要介紹了node.js域名解析實現(xiàn)方法,結合實例形式詳細分析了node.js使用dns.lookup()及dns.resolve4()進行域名解析的相關操作技巧與注意事項,需要的朋友可以參考下
    2019-11-11
  • node.js 如何監(jiān)視文件變化

    node.js 如何監(jiān)視文件變化

    這篇文章主要介紹了node.js 如何監(jiān)視文件變化,幫助大家更好的理解和學習node.js,感興趣的朋友可以了解下
    2020-09-09
  • Node 代理訪問的實現(xiàn)

    Node 代理訪問的實現(xiàn)

    這篇文章主要介紹了Node 代理訪問的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • nodejs 提示‘xxx’ 不是內部或外部命令解決方法

    nodejs 提示‘xxx’ 不是內部或外部命令解決方法

    本文介紹了node.js包管理工具npm安裝模塊后,無法通過命令行執(zhí)行命令,提示‘xxx’ 不是內部或外部命令的解決方法,給需要的小伙伴參考下。
    2014-11-11

最新評論

昌乐县| 新巴尔虎右旗| 乐昌市| 肇州县| 武陟县| 昌邑市| 西贡区| 延吉市| 邹城市| 陆河县| 正蓝旗| 南丰县| 双辽市| 土默特左旗| 凌源市| 聂拉木县| 芷江| 绍兴市| 定远县| 黄平县| 太谷县| 马公市| 太谷县| 大连市| 溧水县| 二连浩特市| 涞水县| 宜丰县| 盐源县| 宣威市| 南郑县| 武威市| 察隅县| 富民县| 江油市| 荃湾区| 资源县| 马关县| 民县| 若尔盖县| 榕江县|