明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Emmet 的 HTML 語法詳細(xì)說明

[摘要]本文主要介紹 Emmet 的 HTML 語法,看完之后,你就會(huì)看懂并且會(huì)寫出那句代碼了。現(xiàn)在,打開你的 ST2 然后新建一個(gè) HTML 文檔,跟著文章,即時(shí)輸入對(duì)應(yīng)的指令然后親自嘗試一下!生成 HTML 文檔初始結(jié)構(gòu)HTML 文檔的初始結(jié)構(gòu),就是包括 doctype、html、head、body ...
本文主要介紹 Emmet 的 HTML 語法,看完之后,你就會(huì)看懂并且會(huì)寫出那句代碼了。現(xiàn)在,打開你的 ST2 然后新建一個(gè) HTML 文檔,跟著文章,即時(shí)輸入對(duì)應(yīng)的指令然后親自嘗試一下!生成 HTML 文檔初始結(jié)構(gòu)HTML 文檔的初始結(jié)構(gòu),就是包括 doctype、html、head、body 以及 meta 等內(nèi)容。你只需要輸入一個(gè) “!” 就可以生成一個(gè) HTML5 的標(biāo)準(zhǔn)文檔初始結(jié)構(gòu),你沒有看錯(cuò),輸入一個(gè)感嘆號(hào)(當(dāng)然是英文符號(hào)),然后摁下 TAB 鍵,就會(huì)發(fā)現(xiàn)生成了下面的結(jié)構(gòu):

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
</body>
</html>

這就是一個(gè) HTML5 的標(biāo)準(zhǔn)結(jié)構(gòu),也是默認(rèn)的 HTML 結(jié)構(gòu)。如果你想生成 HTML4 的過渡型結(jié)構(gòu),那么輸入指令 html:xt 即可生成如下結(jié)構(gòu):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>
</body>
</html>

Emmet 會(huì)自動(dòng)把 doctype 給你補(bǔ)全了,怎么樣,這樣的功能會(huì)不會(huì)讓你動(dòng)心?簡單總結(jié)一下常用的 HTML 結(jié)構(gòu)指令:

html:5 或者 ! 生成 HTML5 結(jié)構(gòu)
html:xt 生成 HTML4 過渡型
html:4s 生成 HTML4 嚴(yán)格型

生成帶有 id 、class 的 HTML 標(biāo)簽
Emmet 的語法有點(diǎn)類似 CSS 的語法,生成 id 為 aaa 的 div 標(biāo)簽,我們只需要編寫下面指令:
#aaa
Emmet 默認(rèn)的標(biāo)簽為 div ,如果我們不給出標(biāo)簽名稱的話,默認(rèn)就生成 div 標(biāo)簽。如果編寫一個(gè) class 為 bbb 的 span 標(biāo)簽,我們需要編寫下面指令:
span.bbb
然后就生成了對(duì)應(yīng)的結(jié)構(gòu)。同理,如果想要編寫一個(gè) id 為 ccc 的 class 為 ddd 的 ul 標(biāo)簽,我們可以這樣寫:
ul#ccc.ddd
很簡單吧?比你用手寫 id 、class 方便多了吧
生成后代:>
大于號(hào)表示后面要生成的內(nèi)容是當(dāng)前標(biāo)簽的后代。例如我要生成一個(gè)無序列表,而且被 class 為 aaa 的 div 包裹,那么可以使用下面指令:
div.aaa>ul>li
可以生成如下的結(jié)構(gòu):

<div>
    <ul>
        <li></li>
    </ul>
</div>

生成兄弟:+
上面是生成下級(jí)元素,如果想要生成平級(jí)的元素,就需要使用 + 號(hào)。例如下面指令:
div+p+bq
就可以生成如下的 HTML 結(jié)構(gòu):

<div></div>
<p></p>
<blockquote></blockquote>

生成上級(jí)元素:^
上級(jí) (Climb-up)元素是什么意思呢?前面咱們說過了生成下級(jí)元素的符號(hào)“>”,當(dāng)使用 div>ul>li 的指令之后,再繼續(xù)寫下去,那么后續(xù)內(nèi)容都是在 li 下級(jí)的。如果我想編寫一個(gè)跟 ul 平級(jí)的 span 標(biāo)簽,那么我需要先用 “^” 提升一下層次。例如:
div>ul>li^span
就會(huì)生成如下結(jié)構(gòu):

<div>
    <ul>
        <li></li>
    </ul>
    <span></span>

</div>
如果我想相對(duì)與 div 生成一個(gè)平級(jí)元素,那么就再上升一個(gè)層次,多用一個(gè)“^”符號(hào):
div>ul>li^^span
重復(fù)生成多份:*
特別是一個(gè)無序列表,ul 下面的 li 肯定不只是一份,通常要生成很多個(gè) li 標(biāo)簽。那么我們可以直接在 li 后面 * 上一些數(shù)字:
ul>li*5
這樣就直接生成五個(gè)項(xiàng)目的無序列表了。如果想要生成多份其他結(jié)構(gòu),方法類似。
生成分組:()
用括號(hào)進(jìn)行分組,這樣可以更加明確要生成的結(jié)構(gòu),特別是層次關(guān)系,例如:
div>(header>ul>li*2>a)+footer>p
這樣很明顯就可以看出層次關(guān)系和并列關(guān)系,生成如下結(jié)構(gòu):

<div>
    <header>
        <ul>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
        </ul>
    </header>
    <footer>
        <p></p>
    </footer>
</div>

此外,分組還可以很方便的結(jié)合上面說的 “*” 符號(hào)生成重復(fù)結(jié)構(gòu):

(div>dl>(dt+dd)*3)+footer>p


生成結(jié)構(gòu):

<div>
    <dl>
        <dt></dt>
        <dd></dd>
        <dt></dt>
        <dd></dd>
        <dt></dt>
        <dd></dd>
    </dl>
</div>
<footer>
    <p></p>
</footer>

生成自定義屬性:[attr]
a 標(biāo)簽中往往需要附帶 href 屬性和 title 屬性,如果我們想生成一個(gè) href 為 “http://www.qianxingzhem.com” ,title 為“潛行者m 博客”的 a 標(biāo)簽,可以這樣寫:
a[href="http://www.qianxingzhem.com" title="潛行者m 博客"]
其他標(biāo)簽和屬性都類似。
對(duì)生成內(nèi)容編號(hào):$
例如無序列表,我想為五個(gè)個(gè) li 增加一個(gè) class 屬性值 item1 ,然后依次遞增從 1-5,那么就需要使用 $ 符號(hào):
ul>li.item$*5
這樣就生成了如下結(jié)構(gòu):

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

$ 就表示一位數(shù)字,只出現(xiàn)一個(gè)的話,就從1開始。如果出現(xiàn)多個(gè),就從0開始。如果我想生成三位數(shù)的序號(hào),那么要寫三個(gè) $:
ul>li.item$$$*5
輸出:

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

只能這樣單調(diào)的生成序號(hào)?對(duì)于強(qiáng)大的 Emmet 來說,肯定不會(huì)會(huì)了,我們也可以在 $ 后面增加 @- 來實(shí)現(xiàn)倒序排列:
ul>li.item$@-*5
生成如下結(jié)構(gòu):

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

同樣,我們也可以使用 @N 指定開始的序號(hào):
ul>li.item$@3*5
這樣就會(huì)從 3 開始排序,生成如下代碼:

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

配合上面倒序輸出,可以這樣寫:
ul>li.item$@-3*5
生成的就是以 3 為底倒序:

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

生成文本內(nèi)容:{}
上面講解了如何生成 HTML 標(biāo)簽,那里面的內(nèi)容呢?當(dāng)然也可以生成了:
a[href="http://www.qianxingzhem.com"]{點(diǎn)擊這里到 潛行者m 的博客}
這樣就生成了一個(gè)到我博客的超鏈接了。在生成內(nèi)容的時(shí)候,特別要注意前后的符號(hào)關(guān)系,雖然 a>{Click me} 和 a{Click me} 生成的結(jié)構(gòu)是相同的,但是加上其他的內(nèi)容就不一定了,例如:

<!-- a{click}+b{here} -->
<a href="">click</a><b>here</b>
<!-- a>{click}+b{here} -->
<a href="">click<b>here</b></a>

這樣就生成了完全不同的結(jié)構(gòu),注意這些小細(xì)節(jié)哦。
不要有空格
在寫指令的時(shí)候,你可能為了代碼的可讀性,使用一些空格什么的排版一下。這就會(huì)導(dǎo)致代碼無法使用。例如下面這句:
(header > ul.nav > li*5) + footer
而去掉空格之后,就可以正常執(zhí)行生成結(jié)構(gòu)了。HTML 語法部分說完了,相信大家也有很大的收獲,希望這篇文章能夠幫助到大家。

相關(guān)推薦:

10款好用的html編輯器

HTML語法大全_html語言語法大全(必看)

HTML語法大全

以上就是 Emmet 的 HTML 語法詳解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。