其實(shí)對(duì)HTML說不上陌生也不算熟悉晦譬,準(zhǔn)確的說是從來沒有考慮過要看官方文檔订咸,每次都是停留在淺嘗輒止的水平保持夠用就好。這次機(jī)會(huì)讓我能夠好好的把HTML官方文檔看一遍,提升一下自己的水平:)
Link :https://www.w3.org/TR/html5/
比較重要的部分:3.2.5章節(jié) 4.1章節(jié) 4.2章節(jié) 4.3章節(jié) 4.4章節(jié) 4.5章節(jié) meta標(biāo)簽
3.2.5Global attributes(全局屬性)
The following attributes are common to and may be specified on all HTML elements (even those not defined in this specification):
accesskey
class
contenteditable
dir
hidden
id
lang
spellcheck
style
tabindex
title
translate
這些屬性只能被標(biāo)準(zhǔn)的HTML元素作為屬性定義。當(dāng)HTML標(biāo)簽使用這些屬性的時(shí)候哺眯,命名空間中沒有這些屬性的不會(huì)被考慮。
具體作用:
accesskey:使用鍵盤可以操作網(wǎng)頁,一般使用為alt+key.
class:這個(gè)屬性是一個(gè)element的class的獨(dú)立規(guī)范列表述雾。class允許css和javascript通過class選擇器或者類似下面的DOM方法來選擇和訪問element
contenteditable:是否可編輯開關(guān)。使用時(shí)必須賦值"true"兼丰,不允許直接加入標(biāo)簽內(nèi)使用玻孟。如果沒有被設(shè)置,則直接繼承父元素屬性鳍征。
dir:表明文本方向黍翎。可定義為ltr/rtl/auto.分別為left-to-right,right-to-left,auto.auto會(huì)使用基本的解析算法進(jìn)行解析艳丛,如果發(fā)現(xiàn)字符有很強(qiáng)的方向性匣掸,那么則將這個(gè)方向作為整個(gè)element的方向趟紊。
hidden:這個(gè)布爾(Boolean)屬性表示element還沒有或是不再存在,當(dāng)然這都是相對(duì)的碰酝。例如霎匈,你經(jīng)常在頁面上使用隱藏element,只有在登錄處理完成后才可以被使用。瀏覽器不渲染這樣的element送爸。也就是說铛嘱,一般用于隱藏元素吧。
id:這個(gè)屬性是唯一的標(biāo)識(shí)袭厂,它在整個(gè)document里應(yīng)該是唯一的墨吓。準(zhǔn)確的說,就是用來當(dāng)錨點(diǎn)的纹磺。
lang: language.顧名思義帖烘。
spellcheck:拼寫檢查。一般中文是不用的爽航,做I18N的網(wǎng)站有可能會(huì)用蚓让。用的話一般是用來檢查輸入框?
style:CSS Style.
tabindex:決定是不是能獲得焦點(diǎn)讥珍,使用方式是用tab切換历极。定義它的值即可,從小到大依次切換衷佃,負(fù)數(shù)則永遠(yuǎn)不會(huì)被切換到趟卸。
title:文本信息。顧名思義系列氏义。
translate:標(biāo)記用于localized的時(shí)候是否翻譯锄列。
data-*:被稱為自定義屬性。允許HTML和它對(duì)應(yīng)DOM表現(xiàn)形式之間的專有信息交換惯悠×谟剩可以理解為Script使用的標(biāo)簽.
draggbale:這個(gè)屬性決定一個(gè)Element是否能夠被拖動(dòng)】松簦可被定義為True 和False,未設(shè)置則默認(rèn)為auto筒严。必須規(guī)定True或者False,同contenteditable標(biāo)簽一致,不允許直接使用情萤。
4.1章節(jié) The root element(根元素)
Link:https://www.w3.org/TR/html5/semantics.html#the-root-element
只講了一種元素鸭蛙,HTML元素。也就是<html>筋岛。它沒有種類娶视,所有子文檔都需要使用。它的開始標(biāo)簽之前睁宰,只能夠?qū)懽⑨尫净瘢Y(jié)束標(biāo)簽之后寝凌,同樣只能寫注釋。不允許任何ARIA值孝赫。
4.2章節(jié) Document metadata(文檔的metadata)
Link:https://www.w3.org/TR/html5/document-metadata.html#document-metadata
metadata(元數(shù)據(jù))代表該標(biāo)簽指示了HTML的頁面相關(guān)信息硫兰,絕大一部分是寫給瀏覽器看的。具體有<base>,<head>,<Link>,<meta>,<style>,<title>等寒锚。這些東西可以在網(wǎng)頁里定義劫映,也可以鏈接到包含相關(guān)信息的外部文件。
<base>指定基礎(chǔ)URL刹前,<head>,規(guī)定相關(guān)元數(shù)據(jù)泳赋,<Link>,鏈接外部資源喇喉,<meta>雜貨堆(其他規(guī)定不了的都?xì)w它管)<style>,包含樣式化信息(CSS)祖今,title(指定標(biāo)題)
4.3章節(jié) Sections(內(nèi)容分區(qū))
Link:https://www.w3.org/TR/html5/sections.html#sections
這個(gè)部分的標(biāo)簽主要用來對(duì)內(nèi)容進(jìn)行分區(qū)。其中:
address標(biāo)簽主要用于為最近的<article>或者<body>元素提供信息拣技。如果它作用于<body>,那么它將作用于整個(gè)文檔千诬。
article元素表示文檔頁面等中的獨(dú)立結(jié)構(gòu)。特點(diǎn)是獨(dú)立分配膏斤,可復(fù)用徐绑。一般用在帖子,新聞莫辨,博客這種交互式組件上傲茄。
aside這個(gè)部分表示和其余頁面幾乎無關(guān)的部分。常見的應(yīng)該就是Google的廣告和一些Web應(yīng)用程序這種外部嵌入的東西沮榜?
footer表示最近一個(gè)章節(jié)內(nèi)容/根節(jié)點(diǎn)的頁腳盘榨。一般是包含章節(jié)作者,版權(quán)信息等蟆融。
h1-h6顧名思義系列草巡,標(biāo)題級(jí)別。
header表示網(wǎng)頁頭(個(gè)人理解)一般添加logo等信息型酥,也可以用來添加預(yù)加載信息山憨。
hgroup一個(gè)段的標(biāo)題.
nav HTML導(dǎo)航欄 (<nav>) 描繪一個(gè)含有多個(gè)超鏈接的區(qū)域,這個(gè)區(qū)域包含轉(zhuǎn)到其他頁面冕末,或者頁面內(nèi)部其他部分的鏈接列表.
section HTML Section 元素 (<section>) 表示一個(gè)區(qū)域萍歉。一般是通用的侣颂。
4.4Grouping content(文本內(nèi)容)
p:paragraph.顧名思義系列档桃。
hr:畫一條橫線。
pre:預(yù)處理文本憔晒。此標(biāo)簽下的所有文本將保留空格和換行符藻肄。
blockquote:塊級(jí)元素引用蔑舞。
ol:order List.顧名思義系列,有排序的列表嘹屯。
ul:unorder List.顧名思義系列攻询,不排序的列表。
li:list.顧名思義系列州弟,標(biāo)記一個(gè)列表钧栖。
dl:展示詞匯表或元數(shù)據(jù)。用于在一個(gè)定義列表中聲明一個(gè)術(shù)語婆翔。該元素僅能作為 <dl> 的子元素出現(xiàn)拯杠。
div:Division,用于分割網(wǎng)頁。
main:main元素(<main>)呈現(xiàn)了文檔<body>或應(yīng)用的主體部分啃奴。
dd:HTML <dd> 元素(HTML 描述元素)用來指明一個(gè)描述列表 (<dl>) 元素中一個(gè)術(shù)語的描述潭陪。這個(gè)元素只能作為描述列表元素的子元素出現(xiàn)
div:通用的流內(nèi)容用于對(duì)元素分組。
4.5章節(jié) Text-level semantics(文本等級(jí)語義標(biāo)簽最蕾?)
a標(biāo)簽:錨定其他元素依溯,定義一個(gè)超鏈接到其他頁面、文件等流終點(diǎn)瘟则。
em:著重標(biāo)記黎炉。可以多重嵌套醋拧,等于強(qiáng)調(diào)+強(qiáng)調(diào)的效果拜隧。
strong:強(qiáng)壯!趁仙!表示強(qiáng)調(diào)洪添。google了一下和<b>有啥區(qū)別,原來一個(gè)是語氣上的強(qiáng)調(diào)雀费,一個(gè)是字體加粗干奢,只是<b>挺無辜的,剛好和<strong>一個(gè)效果盏袄。
small字體變小一號(hào)忿峻。
s已經(jīng)沒用了。HTML5不再支持辕羽。
cite元素.HTML引用標(biāo)記逛尚,必須包含引用作品的符合簡(jiǎn)寫格式的標(biāo)題或者URL。
q元素刁愿。表示一個(gè)封閉的且短的绰寞,行內(nèi)引用的文本。不能加換行符。
dfn:定義元素滤钱。顧名思義系列觉壶。Define.
time表示時(shí)間。<time>2011-11-12T14:54</time>這么寫就行了件缸。
code標(biāo)簽铜靶。代表一段代碼的開始。同MarkDown.
b加粗他炊。MarkDown里也是這么用的争剿。
var寫代碼的時(shí)候用來標(biāo)注一個(gè)變量。
samp=sample.顧名思義系列痊末。
kbd表示用戶輸入秒梅。產(chǎn)生一個(gè)行內(nèi)元素。
sub/sup已廢棄舌胶。
i用于表現(xiàn)因某些原因需要區(qū)分普通文本的一系列文本捆蜀。例如技術(shù)術(shù)語、外文短語或是小說中人物的思想活動(dòng)等幔嫂,它的內(nèi)容通常以斜體顯示.顯示出來就是斜體的問題~
mark突出顯示文字辆它,標(biāo)記重點(diǎn)。顯示搜索引擎后關(guān)鍵字履恩。
ruby注音用锰茉。
span元素是短語內(nèi)容的通用行內(nèi)容器,并沒有任何特殊語義切心§可以使用它來編組元素以達(dá)到某種樣式意圖(通過使用類或者Id屬性)
8.1 Writing HTML documents(如何寫HTML文檔)
1.如何寫DOCTYPE.
Doctype是一種頭文件。它必須是HTML文檔的第一行绽昏,位于<html>標(biāo)簽之前协屡。!DOCTYPE不是HTML標(biāo)簽,它是指示web瀏覽器關(guān)于頁面使用哪個(gè)HTML版本的指示命令全谤。HTML4.01中,<!DOCTYPE>聲明引用DTD肤晓,因?yàn)镠TML4.01基于SGML.HTML5不基于SGML,所以不用引用DTD认然。
(SGML:Standard Generalized Markup language.(標(biāo)準(zhǔn)通用標(biāo)記語言).DTD:Document Type Definition.(文檔類型定義)补憾。HTML和XML都是從中衍生出來的。HTML4還遵循著SGML的寫法卷员,但是HTML5已經(jīng)不再基于SGML了盈匾。這亂七八糟的SGML已經(jīng)是歷史糟粕了,不用管它)
2.元素毕骡。
元素有很多種類——空元素削饵,文字元素岩瘦,文字外元素,外部元素葵孤,普通元素〕髟空元素包含“area, base, br, col, embed, hr, img, input, keygen, link, meta, param, source, track, wbr” 文字元素包含“script, style”尤仍,文字外元素包含“textarea, title”,外部元素包含所有MathML命名空間和SVG命名空間的元素狭姨。其他的標(biāo)簽都是普通元素宰啦。
(MathML:數(shù)學(xué)標(biāo)記語言,SVG:可縮放矢量圖形Scalable Vector Graphics)
2.1.開始標(biāo)簽。
2.1.1開始標(biāo)簽必須以"<"作為開始饼拍。
2.1.2接下來的字符必須是一個(gè)元素的標(biāo)簽名赡模。
2.1.3如果在<后要加入屬性,那么你必須加入一個(gè)以上的空格师抄。
2.1.4開始標(biāo)簽將有一個(gè)或更多的屬性漓柑,屬性之間必須用空格隔開。
2.1.5在屬性值后叨吮,或在Tag名稱后如果沒有屬性值辆布,那么應(yīng)該添加一個(gè)或更多的空格來填充。(一些屬性值需要在后面接空格茶鉴,具體看https://www.w3.org/TR/html5/syntax.html#syntax-attributes)
2.1.6如果元素是空元素锋玲,或者如果這個(gè)元素是一個(gè)外部元素(MathML,SVG),那么需要加一個(gè)單獨(dú)的"/"字符涵叮。這個(gè)字符對(duì)空元素是無效的惭蹂,但是外部元素需要加一個(gè)"/"進(jìn)行閉合。
2.1.7當(dāng)然割粮,最后你需要加一個(gè)">".
2.2結(jié)束標(biāo)簽盾碗。
沒有需要注意的地方,略過舀瓢。
2.3屬性置尔。
Link:https://www.w3.org/TR/html5/syntax.html#writing
屬性一般寫在一個(gè)元素的開始標(biāo)簽里面。屬性有它自己的名稱和值氢伟,屬性的名稱必須由一個(gè)或更多的字符(除了空白字符榜轿、NULL、"朵锣、'谬盐、>、/诚些、=飞傀、用作控制的字符皇型、unicode未定義的字符)組成。在HTML語法中砸烦,屬性的名稱(包括外部元素)將無視大小寫(可混合)的匹配ACSII實(shí)例的屬性名稱弃鸦。
2.4文本
文本內(nèi)容可以填入內(nèi)容,屬性值幢痘,注釋唬格。文本可以使用LF\CR進(jìn)行換行。
2.5字符引用颜说。
略购岗。
2.6CDATA段
CDATA必須包含:字符串"<![CDATA[",且其中的字符不能包含兩個(gè)大括號(hào)。门粪,然后再添加閉合喊积。CDATA只能被用于外部元素(MathML或者SVG)