如果你看了第一篇的內容,你會發現我的代碼是這樣的:
文本 <span>文本</span> <scolia>文本</scolia> <scolia abcd=123>文本</scolia>
但顯示的效果卻是這樣的:
很奇怪,明明我的代碼是分了4行來寫的,但為什么在瀏覽器顯示的時候卻都在一行以內,而且它們之間都有一個空格的距離?
因為,瀏覽器對於換行的解釋並不是依靠我們寫代碼時的排版,而是根據特定的標簽,例如專用的換行標簽<br/>,或者是隱含換行的分組元素<div><div/>等。
而我們的代碼中,並沒有使用到這些帶有換行功能的元素。而其中的span元素,就是屬於文本元素。
所謂文本元素,就是將一段文本設置成相匹配的結構和含義。下面列出了一個參考表格:
元素名稱 | 說明 |
a | 生成超鏈接 |
br | 強制換行 |
wbr | 可安全換行 |
b | 標記一段文字但不強調 |
strong | 表示重要 |
i | 表示外文或科學術語 |
em | 表示強調 |
code | 表示計算機代碼 |
var | 表示程序輸出 |
samp | 表示變量 |
kdb | 表示用戶輸入 |
abbr | 表示縮寫 |
cite | 表示其他作品的標題 |
del | 表示被刪除的文字 |
s | 表示文字已不再確認 |
dfn | 表示術語定義 |
mark | 表示與另一段上下文有關的內容 |
q | 表示引自他處的內容 |
rq | 與 ruby 元素結合使用,標記括號 |
rt | 與 ruby 元素結合使用,標記括號 |
ruby | 表示位於表意文字上方或右方的注音符號 |
bdo | 控制文字的方向 |
small | 表示小號字體內容 |
sub | 表示下標字體 |
sup | 表示上標字體 |
time | 表示時間或日期 |
u | 標記一段文字但不強調 |
span | 通用元素,沒有任何語義。一般配合 CSS 修飾 |
從上面這張表格中,我們發現文本元素還是非常多的。但實際上,在現實應用中,真正 常用的也就是那么幾個,絕大部分是針對英文的。
文本元素解析
1.<b>表示關鍵字和產品名稱
<b>HTML5</b>
解釋:<b>元素實際作用就是加粗。從語義上來看,就是標記一段文字,但並不是特別 強調或重要性。比如:一段文本中的某些關鍵字或者產品的名稱。
2.<strong>表示重要的文字
<strong>HTML5</strong>
解釋:<strong>元素實際作用和<b>一樣,就是加粗。從語義上來看,就是強調一段重要的文本。
總結:為什么實現的效果一樣,卻分開了兩個元素呢?這不是多余嗎?其實,這就是html5的特色,html5強調的是語義化標簽,這里的語義化,是對人而言的,目的是為了讓人知道標簽里文本放的是什么內容。而對於瀏覽器來說,其實完全可以使用通用元素<span>加上css樣式來實現各種效果,只要一個元素就夠了。但是這樣代碼的可讀性就會很低了。當然,其實並沒有強迫什么內容一定要放在特定的標簽里面,具體的使用習慣還是依照個人而言。
3.<br>強制換行、<wbr>安全換行
<br> //個人認為寫成<br/>這種自閉合標簽更符合規范,但不這樣寫也可以 Thisabc<wbr>dkedkslakdj<wbr>fkdlsakd is apple.
解釋:在任意文本位置鍵入<br>都會被換行,而在英文單詞過長時使用<wbr>會根據瀏覽器的寬度適當的裁切換行。
4.<i>表示外文詞匯或科技術語
<i>HTML5</i>
解釋:<i>元素實際作用就是傾斜。從語義上來看,表示區分周圍內容,並不是特別強調或重要性。
5.<em>加以強調
<em>HTML5</em>
解釋:<em>元素實際作用和<i>一樣,就是傾斜;從語義上來看,表示對一段文本的強調。
不同的元素實現相同的效果,上面就已經解釋過為什么了,下面也就不再解釋了
6.<s>表示不准確或校正
<s>HTML5</s>
解釋:<s>元素實際作用就是刪除線;從語義上來看,表示不准確的刪除。
7.<del>表示刪除文字
<del>HTML5</del>
解釋:<del>元素實際作用和<s>一樣,就是刪除線;從語義上來看,表示刪除相關文字。
8.<u>表示給文字加上下划線
<u>HTML5</u>
解釋:<u>元素實際作用就是加一條下划線;從語義上來看,並不強調此段文本。
9.<ins>添加一段文本
<ins>HTML5</ins>
解釋:<ins>元素實際作用和<u>一樣,加一條下划線;從語義上來看,是添加一段文本,起到強調的作用。
10.<small>添加小號字體
<small>HTML5</small>
解釋:<small>元素實際作用就是將文本放小一號。從語義上來看,用於免責聲明和澄清聲明。
11.<sub><sup>添加上標和下標
<sub>5</sub> <sup>5</sup>
解釋:<sub>和<sup>元素實際作用就是數學的上標和下標。語義也是如此。
12.<code>等表示輸入和輸出
<code>HTML5</code> <var>HTML5</var> <samp>HTML5</samp> <kdb>HTML5</kdb>
解釋:<code>表示計算機代碼片段;<var>表示編程語言中的變量;<samp>表示程序 或計算機的輸出;<kdb>表示用戶的輸入。由於這屬於英文范疇的,必須將 lang="en"英語才能體現效果。
13.<abbr>表示縮寫
<abbr>HTML5</abbr>
解釋:<abbr>元素沒有實際作用;從語義上看,是一段文本的縮寫。
14.<dfn>表示定義術語
<dfn>HTML5</dfn>
解釋:<dfn>元素就是一般性的傾斜;從語義上看,表示解釋一個詞或短語的一段文本。
15.<q>引用來自他處的內容
<q>HTML5</q>
解釋:<q>元素實際作用就是加了一對雙引號。從語義上來看,表示引用來自其他地方的內容。
16.<cite>引用其他作品的標題
<cite>HTML5</cite>
解釋:<cite>元素實際作用就是加粗。從語義上來看,表示引用其他作品的標題。
17.<ruby>語言元素
<ruby> 饕<rp>(</rp><rt>tāo</rt><rp>)</rp> 餮<rp>(</rp><rt>tiè</rt><rp>)</rp> </ruby>
解釋:<ruby>用來為非西方語言提供支持。<rp><rt>用來幫助讀者掌握表意語言文字 正確發音。比如:漢語拼音在文字的上方。
18.<bdo>設置文字方向
<bdo dir="rtl">HTML5</bdo>
解釋:<bdo>必須使用屬性 dir 才可以設置,一共兩個值:rtl(從右到左)和 ltr(從 左到右)。一般默認是 ltr。還有一個<bdi>元素也是處理方向的,由於是特殊語言的特殊效果,具有的支持程度要自己去測試了。
19.<mark>突出顯示文本
<mark>HTML5</mark>
解釋:<mark>實際作用就是加上一個黃色的背景,黑色的字;從語義上來看,與上下文相關而突出的文本,用於記號。
20.<time>表示日期和時間
<time>2015-10-10</time>
解釋:<time>元素沒有實際作用;從語義上來看,表示日期和時間。
21.<span>表示一般性文本
<span>HTML5</span>
解釋:<span>元素沒有實際作用;語義上就是表示一段文本,我們經常用它來設置 CSS 等操作。
總結:其實這些元素看起來數量很多,但是能在瀏覽器展現的效果卻很少。
1.加粗
2.傾向
3.刪除線
4.下划線
5.小號字體
6.數學中的上下標
7.英文生效的計算機代碼片段效果
8.雙引號
9.發音標注
10.文字方向
11.黃色背景,黑色字體
12.換行相關
而這些效果里面,大部分能夠通過css實現,還有部分幾乎用不到,所以沒必要一定都要背下來。大概知道有哪些效果,用到的時候再查相應的表格就行了。