[持續更新]HTML5學習筆記(二)
1. 元素分類
元資料元素(metadata element):由此可見主要是<meta>元素中的事情了,向瀏覽器提供資訊和指示;
流元素(flow element):聽名字怪異,但是其實是規定這些元素可以成為父元素;
短語元素(phrasing element):和流元素呼應,規定這些元素可以成為子元素。
元資料還好理解,就是流元素和短語元素好奇怪,舉個例子,div既可以是流元素也可以是短語元素,因為它能包含其他的元素也能被其他的元素包含。但是像<b>這樣的就僅僅是短語元素了。
其實大家使用這些元素的時候注意一定的規範,時間長了,也不會亂用短語元素和流元素。真的是對初學者來說真的好辛苦,反而拘束了。
差點忘了,還有第四種類型:受限元素。這些元素要麼沒什麼特別的含義,要麼就只能用在一些非常有限的情況下。比如說,<li>元素只能有三種父元素<ul>、<ol>、<menu>。
2. 常用元素及其說明
下面列舉一些常見的元素標籤,及其型別,是否新增。
1. 文字元素
元素 |
說明 |
型別 |
是否新增 |
a |
生成超連結 |
短語,流 |
|
abbr |
縮略語 |
短語 |
|
b |
不帶強調或著重意味的標記一段文字 |
短語 |
|
br |
換行 |
短語 |
|
cite |
表示其他作品的標題 |
短語 |
|
code |
表示計算機程式碼片段 |
短語 |
|
del |
表示從文件中刪除的文字 |
短語,流 |
是 |
dfn |
表示術語定義 |
短語 |
|
em |
標誌著重強調一段文字 |
短語 |
|
i |
表示與周邊內容相容不同的一段文字,比如來自另一種語言 |
短語 |
|
ins |
表示加入文件的文字 |
短語,流 |
|
kbd |
表示使用者輸入內容 |
短語 |
|
mark |
表示一段因為與上下文中另一詞語相關而突出的現實的內容 |
短語 |
是 |
q |
表示引自他處的內容 |
短語 |
|
rp |
與ruby元素結合使用,標記括號 |
短語 |
是 |
rt |
與ruby元素結合使用,標記注音符號 |
短語 |
是 |
ruby |
表示位於表意文字上方或右方的注音符號 |
短語 |
是 |
s |
表示文字已不在準確 |
短語 |
|
samp |
表示計算機程式輸出內容 |
短語 |
|
small |
表示小號字型內容 |
短語 |
|
span |
一個沒有自己語意的通用元素,可以用在希望引入一些全域性屬性卻又不想引入額外語義的情況 |
短語 |
|
strong |
表示重要內容 |
短語 |
|
sub |
表示下標文字 |
短語 |
|
sup |
表示上標文字 |
短語 |
|
time |
表示時間或日期 |
短語 |
是 |
u |
不帶強調或者著重意味的標記一段文字 |
短語 |
|
var |
表示程式或計算機系統中的變數 |
短語 |
|
wbr |
表示可安全換行的地方 |
短語 |
是 |
看個例子:
<label> a: </label><p>This links to <a href="http://www.baidu.com" target="_blank">baidu</a>. </p>
<br>
<label> abbr: </label><p>The <abbr title="People's Republic of China">PRC</abbr> was founded in 1949.</p>
<br>
<label> b: </label><p>這是普通文字 - <b>這是粗體文字</b>。</p>
<br>
<label> cite: </label><p><cite>《富春山居圖》</cite>由黃公望始畫於至正七年(1347),於至正十年完成。</p>
<br>
<label> code: </label><p>
下面是程式碼,等寬文字顯示。
<code>
function helloworld(){
alert("Hello World!");
}
</code>
</p>
<br>
<label> del: </label><p><del>我是被刪掉的話</del>,文字上會有條線。</p>
<br>
<label> dfn: </label><p><dfn>dfn是defining instance的縮寫</dfn>, 顯示上為斜體。</p>
<br>
<label> em: </label><p>em在顯示上為<em>斜體</em>。</p>
<br>
<label> i: </label><p>漢語:你好。 俄語:<i> Привет </i>。現實上為斜體。</p>
<br>
<label> ins: </label><p>這件商品現在是 <del>100元</del> <ins>50元</ins> 一件。搭配del使用</p>
<br>
<label> kbd: </label><p>常用來顯示計算機輸出<kbd>Keyboard input</kbd>。現實上是等寬字型。</p>
<br>
<label> mark: </label><p>Do not forget to buy <mark>milk</mark> today.</p>
<br>
<label> q: </label><p>WWF's goal is to:
<q cite="http://www.wwf.org">
build a future where people live in harmony with nature
</q> we hope they succeed. 顯示上有引號。</p>
<br>
<label> ruby: </label><p>在東亞使用,顯示的是東亞字元的發音。</p>
<ruby>
漢 <rt><rp>(</rp>ㄏㄢˋ<rp>)</rp></rt>
</ruby>
<br>
<label> samp: </label><p>常用來顯示計算機輸出<samp>Sample input</samp>。現實上是等寬字型。</p>
<br>
<label> small: </label><p><small>This text is small</small></p>
<br>
<label> sub: </label><p>This text contains
<sub>subscript</sub>. ex: H<sub>2</sub>O</p>
<br>
<label> sup: </label><p>This text contains
<sup>superscript</sup>. ex: 1230 = 1.23 * 10<sup>3</sup>.</p>
<br>
<label> time: </label><p>
我在 <time datetime="2008-02-14">情人節</time> 有個約會。
</p>
<br>
<label> var&pre: </label>
<p>pre 標籤很適合顯示計算機程式碼:</p>
<p>var 標籤斜體顯示變數:</p>
<pre>
function HelloWorld(){
return "Hello World";
}
var <var style="color:red" >test</var> = HelloWorld();
alert(test);
</pre>
<br>
<label> wbr: </label><p>
如果想學習 AJAX,那麼您必須熟悉 XML<wbr>Http<wbr>Request 物件。
</p>
<p>當正常情況下英文寬度過小,不足以在行末書寫完一個詞時,就將行末整個詞放到下一行,實現換行,但是加入上面位置的<wbr>時,軟換行就能收主動拆分單詞.(IE系列除了9都不支援,其他都支援)。</p>
<br>
2. 對內容分組
元素 |
說明 |
型別 |
是否新增 |
blockquote |
表示引自他處的大段內容 |
流 |
|
dd |
在dl元素之中表示定義 |
無 |
|
div |
一個沒有任何既定含義的通用元素,是span元素在流元素中的對應物 |
流 |
|
dl |
表示包含一系列術語和定義的說明列表 |
流 |
|
dt |
在dl之中表示術語 |
無 |
|
figcaption |
表示figure元素的標題 |
無 |
是 |
figure |
表示圖片 |
流 |
是 |
pre |
表示其格式應被保留的內容 |
流 |
3. 劃分內容
下列元素用於劃分內容,讓每個概念,觀點或主題彼此分開。
元素 |
說明 |
型別 |
是否新增 |
address |
表示文件或artice的聯絡資訊 |
流 |
是 |
artice |
表示一段獨立的內容 |
流 |
是 |
aside |
表示與周邊內容稍有牽扯的內容 |
流 |
是 |
details |
生成一塊區域,使用者將其展開可以獲取更多細節知識 |
流 |
是 |
footer |
表示尾部 |
流 |
是 |
header |
表示首部 |
流 |
是 |
hgroup |
將一組標題組織一起,以便文件大綱只顯示其中的一個標題 |
流 |
是 |
nav |
表示有意集中一起的導航元素 |
流 |
是 |
section |
表示一個重要的概念或主題 |
流 |
是 |
summary |
用在details元素中,表示該元素內容的標題或說明 |
無 |
是 |
<label> blockquote:</label>
<p>
Here comes a long quotation:
<blockquote>
This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation.
</blockquote>
請注意,瀏覽器在 blockquote 元素前後添加了換行,並增加了外邊距。
</p>
<br>
<label> figure:</label>
<p>上海盧浦大橋是當今世界第一鋼結構拱橋,是世界上跨度最大的拱形橋。它也是世界上首座完全採用焊接工藝連線的大型拱橋(除合攏介面採用栓接外),現場焊接焊縫總長度達4萬多米,接近上海市內環高架路的總長度。盧浦大橋像澳大利亞悉尼的海灣大橋一樣具有旅遊觀光的功能。</p>
<figure>
<figcaption>黃浦江上的的盧浦大橋</figcaption>
<img src="http://www.w3school.com.cn/i/shanghai_lupu_bridge.jpg" width="350" height="234" />
</figure>
<br>
<label> address:</label>
<address>
Written by <a href="mailto:[email protected]">Donald Duck</a>.<br>
Visit us at:<br>
Example.com<br>
Box 564, Disneyland<br>
USA
</address>
<br>
<label> artice:</label>
<article>
<h1>Internet Explorer 9</h1>
<p>Windows Internet Explorer 9(簡稱 IE9)於 2011 年 3 月 14 日釋出.....</p>
</article>
<br>
<label> aside:</label>
<p>Me and my family visited The Epcot center this summer.</p>
<aside>
<h4>Epcot Center</h4>
The Epcot Center is a theme park in Disney World, Florida.
</aside>
<br>
<label> details:</label>
<details>
<summary>Copyright 2011.</summary>
<p>All pages and graphics on this web site are the property of W3School.</p>
</details>
<p>僅chrome&Safari支援</p>
<br>
<label> footer:</label>
<footer>
<p>Posted by: W3School</p>
<p>Contact information: <a href="mailto:[email protected]">[email protected]</a>.</p>
</footer>
<br>
4. 製表
下列元素用於製作顯示資料的表格。表格在HTML5中的主要變化是不能呢過在用來控制頁面佈局。
元素 |
說明 |
型別 |
是否新增 |
caption |
表示表格標題 |
無 |
|
col |
表示一列 |
無 |
|
colgroup |
表示一組列 |
無 |
|
table |
表示表格 |
流 |
|
tbody |
表示表格主體 |
無 |
|
td |
表示單元格 |
無 |
|
tfoot |
表示表腳 |
無 |
|
th |
表示標題行單元格 |
無 |
|
tr |
表示一行單元格 |
無 |
5. 建立表單
下列元素用於建立HTML表單,以便獲取使用者輸入的資料。
元素 |
說明 |
型別 |
是否新增 |
datalist |
定義一組提供給使用者的建議值 |
流 |
|
fieldset |
表示一組表單元素 |
流 |
|
input |
表示用來收集使用者輸入資料的控制元件 |
短語 |
|
keygen |
生成一對公鑰與私鑰 |
短語 |
是 |
legend |
表示fieldset元素的說明性標籤 |
無 |
|
optgroup |
表示一組相關的option元素 |
無 |
|
option |
表示供使用者選擇的一個選項 |
無 |
|
output |
表示計算結果 |
短語 |
是 |
select |
給使用者提供一組固定的選項 |
短語 |
6. 嵌入內容
下列元素用於在HTML文件中嵌入內容。
元素 |
說明 |
型別 |
是否新增 |
area |
表示一個用於客戶端分割槽相應的區域 |
短語 |
|
audio |
表示一個音訊資源 |
無 |
是 |
canvas |
生成一個動態的圖形畫布 |
短語,流 |
是 |
embed |
用外掛在HTML文件中嵌入內容 |
短語 |
是 |
iframe |
通過建立一個瀏覽上下文在一個文件中嵌入另一個文件 |
短語 |
|
map |
定義客戶端分割槽響應圖 |
短語,流 |
|
meter |
嵌入數值在許可值範圍背景中的圖形表示 |
短語 |
是 |
object |
在HTML文件中嵌入內容,也可用於生產瀏覽上下文和生成客戶端分割槽響應圖 |
短語,流 |
|
param |
表示將通過object元素傳遞給外掛的引數 |
無 |
|
progress |
嵌入目標進展或任務情況的圖形表示 |
短語 |
是 |
source |
表示媒體資源 |
無 |
是 |
svg |
表示結構化向量內容 |
無 |
是 |
track |
表示媒體的附加軌道(例如字幕) |
無 |
是 |
video |
表示視訊資源 |
無 |
是 |
使用HTML5語義化的意義:
為了在沒有CSS的情況下,頁面也能呈現出很好地內容結構、程式碼結構:為了裸奔時好看;
使用者體驗:例如title、alt用於解釋名詞或解釋圖片資訊、label標籤的活用;
有利於SEO:和搜尋引擎建立良好溝通,有助於爬蟲抓取更多的有效資訊:爬蟲依賴於標籤來確定上下文和各個關鍵字的權重;
方便其他裝置解析(如螢幕閱讀器、盲人閱讀器、移動裝置)以意義的方式來渲染網頁;
便於團隊開發和維護,語義化更具可讀性,是下一步吧網頁的重要動向,遵循W3C標準的團隊都遵循這個標準,可以減少差異化。
在使用時我們應注意:
儘可能少的使用無語義的標籤div和span;
在語義不明顯時,既可以使用div或者p時,儘量用p, 因為p在預設情況下有上下間距,對相容特殊終端有利;
不要使用純樣式標籤,如:b、font、u等,改用css設定。
需要強調的文字,可以包含在strong或者em標籤中(瀏覽器預設樣式,能用CSS指定就不用他們),strong預設樣式是加粗(不要用b),em是斜體(不用i);
使用表格時,標題要用caption,表頭用thead,主體部分用tbody包圍,尾部用tfoot包圍。表頭和一般單元格要區分開,表頭用th,單元格用td;
表單域要用fieldset標籤包起來,並用legend標籤說明表單的用途;
每個input標籤對應的說明文字都需要使用label標籤,並且通過為input設定id屬性,在lable標籤中設定for=someld來讓說明文字和相對應的input關聯起來。
從上面例子可以看出來,很多標籤的說明不一樣,但是他們的顯示和功能很相近,比如說div,article,section。他們在頁面中的顯示是一樣的,屬性也大致相同,但是div是無任何語義的容器,而article,和section則各自有自己的語義。所以每個標籤都有其存在的意義,與其他標籤的差異,這些差別需要我們在工作中去理解,應用。
相關推薦
[持續更新]HTML5學習筆記(二)
1. 元素分類 元資料元素(metadata element):由此可見主要是<meta>元素中的事情了,向瀏覽器提供資訊和指示; 流元素(flow element):聽名字怪異,但是其實是規定這些元素可以成為父元素; 短語元素(phrasing elemen
[持續更新]CSS3學習筆記(二)漸變&圓角&陰影&變換&動畫
1. 顏色模式 在網頁中常見的顏色模式有:RGB,HSLA。 RGB 大家不陌生,分別代表red,green,blue。使用6位16進位制數表示。#00FF00; RGBA 就說多了一個Aplha透明通道。這個數值用0~1的數字來表示。rbga(255,255,255,0
HTML5學習筆記(二)視訊與音訊處理
一、<video> 1、<video>是H5的新標籤,用來處理視訊,在此之前,各網站用來處理視訊一直使用flash技術 flash的缺點有以下幾方面,首先原生瀏覽器原生不支援,需要外掛,其次過多的使用會導致網站效能變差,最後就是
[持續更新]CSS3學習筆記(一)偽類選擇器&自定義字型&背景圖片
CSS3學習筆記 1. 偽類選擇器 CSS3之前的偽類共有:::first-line,::first-letter, :after, :before, :hover, :active, :visited, :focus, :link,:first-child, :l
aurix學習筆記(二)------GTM的(更新中)
Clock Management Unit (CMU) 時鐘管理單元(CMU) 為GTM提供最多13個不同的時鐘,最多三個外部時鐘引腳GTM_ECLK0…2 。它充當系統時鐘的時鐘分配器。在其他子模組中實現的計數器通常是由這個子模組驅動的。 它主要有三個子模組
php laravel框架學習筆記 (二) 數據庫操作
true 數據 mar sql show top 一行 ati del 原博客鏈接:http://www.cnblogs.com/bitch1319453/p/6810492.html mysql基本配置 你可用通過配置環境變量,使用cmd進入mysql,當然還有一種東
java學習筆記(二)圖形用戶接口
star strong per getwidth cep runnable graphics s2d gb2 這個學期主要放在ACM比賽上去了,比賽結束了。不知不覺就15周了,這周就要java考試了,復習一下java吧。java的學習的目的還是讓我們學以致用,讓我們可以
數據結構學習筆記(二) 線性表的順序存儲和鏈式存儲
出錯 初始化 node != test span 輸入 des val 線性表:由同類型數據元素構成有序序列的線性結構 --》表中元素的個數稱為線性表的長度 --》沒有元素時,成為空表 --》表起始位置稱表頭,表結束位置稱表尾 順序存儲: 1 package
Memcache 學習筆記(二)---- PHP 腳本操作 Memcache 服務器
ext status ram var_dump 介紹 修改 memcache local dbn PHP 腳本操作 Memcache 服務器 一、PHP腳本操作Memcache方法 使用 PHP 腳本操作 Memcache,在 PHP 手冊中有詳細的介紹,我們
javascript學習筆記(二):定義函數、調用函數、參數、返回值、局部和全局變量
兩個 cnblogs bsp 結果 value ava ase com 調用 定義函數、調用函數、參數、返回值 關鍵字function定義函數,格式如下: function 函數名(){ 函數體 } 調用函數、參數、返回值的規則和c語言規則類似。 1 <!DOC
神箭手爬蟲學習筆記(二)
暫存 自動 表達 eve doc 常用 學習 數據 .sh 一,可以使用神劍手已經做好的爬蟲市場直接跑,不需要自己定義爬取規則 二,爬蟲市場裏沒有的網站,需要自己去定義規則來爬數據。 三,爬取的數據可以先存放在神劍手,也可以放到七牛暫存。(提醒下,網站需要數據備份如果數量不
thinkphp5.0學習筆記(二)API後臺處理與命名空間
mac code 輸入 -1 pub 基礎 select() color 第一個 命名空間 先來看命名空間吧; 命名空間是學習TP的基礎, <?php namespace app\lian\c1; class yi{ public $obj = "這是第一個
MongoDB學習筆記(二)
.get 條件過濾 條件 $set system.in ins version tle 不存在 一、Mongodb命令 說明:Mongodb命令是區分大小寫的,使用的命名規則是駝峰命名法。 對於database和collection無需主動創建,在插入數據時,如果dat
設計模式學習筆記(二) 設計基本原則之【單一職責原則】
code 分享 開發者 實際應用 需要 ret ext file類 tor 單一職責原則(SRP: Single Responsibility Principle) 名詞解釋: 1) 職責:是指類變化的原因。 2) 職責擴散:就是因為某種原因,職責P被分化為粒度更細的職責P
CSS學習筆記(二):特性
code 背景色 左移 line tex lin 安裝 其中 cas 一、顏色特性 1. 前景色:color 用種方式指定前景色,3種方式分別是rgb顏色,#16進制編碼,顏色名稱: color: rgb(100,100,100); color: #ee3e80; col
tensorflow學習筆記(二)
example initial turn rate mnist pac rac test mode import tensorflow as tfimport numpy as npimport mathimport tensorflow.examples.tutorial
SSH學習筆記(二)
via linu inf 一段時間 isp x-window window max tcl 1 # 1. 關於 SSH Server 的整體設定,包含使用的 port 啦,以及使用的密碼演算方式 2 Port 22 # SSH 預設使用 22 這
Git學習筆記(二)
== 我們 ash 發出 效率 媳婦兒 src 每天 apply 一、分支管理 1、什麽是分支 分支就相當於我們看科幻片裏的平行宇宙,如果兩個平行宇宙互不幹擾,那鐵定是啥事兒沒有。不過,在某個時間點,兩個平行宇宙合並了呢?假如兩個宇宙中都有你的影子, 合並之後相當於你們
MySql學習筆記(二)
ati 保存 ron setting mysql的安裝 use t-sql語句 cnblogs 完全卸載mysql MySql的安裝配置與卸載: 安裝:(1)將MySql的綠色版免安裝包放到D盤,命令行進入mysql綠色版解壓縮後的bin目錄:cd D:\mysql-5.
Unity3D之Mecanim動畫系統學習筆記(二):模型導入
leg character ... sdk ocs 物體 mat 版本 sset 我們要在Unity3D中使用上模型和動畫,需要經過下面幾個階段的制作,下面以一個人形的模型開發為準來介紹。 模型制作 模型建模(Modelling) 我們的美術在建模時一般會制作一個稱為