基本語法
HTML 的全稱為 HyperText Markup Language,即超文字標記語言,最初是用於描述文件而設計。從定義可以看出 HTML 的一些組成部分
元素是 HTML 的基本要素,元素有兩種寫法,一種是帶內容的,一種是不帶內容的
屬性則為元素提供了更多的相關資訊
元素可分為塊級元素和行內元素。
塊級元素 div
示例
內聯元素 span
示例
語義
HTML 的每個元素或者屬性都有特定的含義,我們稱之為語義。例如,ol
元素代表有序列表,lang
屬性則代表內容的語言。
這些定義好的元素,可以讓文件在不同的上下文中(比如瀏覽器和搜尋引擎處理文件時)呈現出一致性。同時,也為文件處理器提供一些額外的資訊,這對於一些輔助裝置而言(比如電子閱讀器)是非常有用的。
具有良好語義的文件
<header>
<img src="logo.png" alt="Favorite books logo">
</header>
<main>
<h1>Favorite books</h1>
<p>These are a few of my favorite books.</p>
<h2>The Belgariad</h2>
<p>Five books by David and Leigh Eddings.</p>
<h2>The Hitchhiker’s Guide to the Galaxy</h2>
<p>A trilogy of five books by Douglas Adams.</p>
</main>
使用類可以實現同樣的展示效果,但是對於文件處理器而言,將捕獲不到任何有關語義的資訊。
<div class="header">
<img src="logo.png" alt="Favorite books logo">
</div>
<div class="main">
<span class="largeHeading">Favorite books</span>
<p>These are a few of my favorite books.</p>
<span class="smallHeading">The Belgariad</span>
<p>Five books by David and Leigh Eddings.</p>
<span class="smallHeading">The Hitchhiker’s Guide to the Galaxy</span>
<p>A trilogy of five books by Douglas Adams.</p>
</div>
擴充套件機制
此外,HTML 還存在大量的擴充套件機制,可以安全的新增語義
- 使用
class
屬性來擴充套件元素 - 使用
data-*=
屬性來包含資料,這些資料不會被瀏覽器處理,同時可被指令碼處理 - 使用
meta
標籤來擴充套件頁面的後設資料 - 使用
rel=''
指定當前文件與被連結文件的關係 - 使用
<script type="">
來嵌入原始的資料,以便被服務端指令碼進一步處理 - 使用 JavaScript 原型來擴充套件 Api
文件物件
每個 HTML 文件都可以對應一個 Document 物件。
可以通過 document
來訪問該物件
console.log(window.document);
console.log(document);
console.log(document.head)
console.log(document.body)
訪問文件的一些後設資料
document.referrer // 返回載入當前文件的文件的 URL
document.referrer // 設定或返回與當前文件有關的所有 cookie
document.domain // 返回當前文件的域
ducument.lastModified // 返回文件被最後修改的日期和時間
document.title // 返回當前文件的標題
document.url // 返回當前文件的 URL
無障礙網頁應用技術
HTML 5 的可訪問性還沒有達到殘疾人士可以進行無障礙閱讀的地步。因此,WAI-ARIA,Web Accessibility Initiative-Accessible Rich Internet Applications,致力於解決殘疾使用者的可訪問性功能。
根據 ARIA 的規範描述,可在 HTML 元素中使用 ARIA role
屬性以及 aria-*
屬性。
例如,視覺上不顯示使用者名稱三個字,但是讀屏軟體會在焦點落到該輸入框時讀出
<input type="text" aria-label="使用者名稱"/>
本作品採用《CC 協議》,轉載必須註明作者和本文連結