[總結] HTML(一)

參考文章:MDN

 

HTML總結

HTML(HyperText Markup Language)是一種用來告訴瀏覽器如何組織頁面的標記語言。它由一系列元素組成。

基本概念

1)塊級元素與內聯元素     

塊級元素通常用於包裹結構化內容,獨佔一行,不會被內聯元素包裹,但可以被其他塊級元素包裹。內聯元素則通常出現在塊級元素中包裹一小部分內容,內聯元素不會導致文本換行。

2)空元素

只有一個標籤,插入/嵌入一些東西。

3)屬性/布爾屬性  " "  ' '

<! DOCTYPE html>聲明文檔類型   <meta  charset="utf-8">設置文檔使用utf-8字符集編碼

<html></html>   <head></head>  <title></title>  <body></body>

*對於HTML文檔中的空白,HTML解釋器會將其通通解釋爲一個空字符。

4)特殊字符

& ;

圖1  HTML知識架構圖(來自重學前端)


一、元素

1)文檔元信息

指包含在<head></head>標籤中的元素,用於描述文檔自身的一些信息。

<meta> 描述數據的數據,爲文檔添加元數據。

  • charset="utf-8" | "ISO-8859-1"  指定字符集
  • name 指定meta元素的類型
  • content  指定實際的元數據內容
  • 還有其他類型的metadata,通常爲某些(社交)網站提供可使用的特定信息。例如使用了相應metadata的文檔,其在Facebook上的鏈接會呈現圖像和描述。Facebook和Twitter都擁有自己專有的元數據協議。
  • 一些meta例子:<meta name="viewport" content="width=device-width">

<link>  引入圖標、CSS、腳本

<html lang="en-US">  爲文檔設置主語言

2)語義相關內容   表達文章結構、不同語言要素的標籤

  • <h1-6>
  • 列表<ul><ol><li>
  • 重點強調<em><strong>
  • 表象元素<b><i><u>
  • 描述列表<dl><dt><dd>
  • 引用 塊引用<blockquote cite="URL">  行內引用<q cite="URL"> 引文<cite>默認字體樣式爲斜體
  • 縮略語<abbr title="縮寫的解釋"> 當光標懸停在縮略語上時會出現提示
  • 標記聯繫方式<address>
  • 上標<sup>和下標<sub>
  • 標記計算機代碼<code><pre><var><kbd>鍵盤(或其他)輸入<samp>標記程序輸出
  • 標記時間和日期<time datatime=""> 可供機器識別
  • 換行<br> 水平分割線<hr>
  • 完整HTML元素參考

網站結構

  • <header> 頁眉
  • <nav> 主導航
  • <main> 每個頁面特有的內容 <article><section><div>
  • <aside> 間接信息
  • <footer> 頁腳

無語義元素

  • <div>
  • <span>

3)鏈接  在文檔中鏈接到任何其他文檔

<a>

  • href  目標,包含網址
  • title  關於鏈接的補充有用信息,當鼠標懸停在鏈接上時會顯示

統一資源定位器(URL)是一個定義了在網絡上的位置的一個文本字符串。可理解爲URI標準的子集,表示資源定位。URL使用路徑查找文件,路徑指定文件系統中文件所在位置。

同級路徑:直接寫文件名;子目錄:進入子目錄/文件名;上級目錄:../上級目錄/文件名。

文檔片段:鏈接到html文檔的特定部分。首先給該部分分配一個id,鏈接時href="URL#id名" | "#id名"。

電子郵件鏈接:href="mailto: [email protected]?(cc)&(cc)&(subject=x%x)&(body)"。更多細節

絕對URL&相對URL:絕對URL包含協議、域名等完整URL信息;相對URL定位取決於當前文檔所在的位置。

注意

  • 清晰的鏈接措辭
  • 儘可能使用相對鏈接
  • 當鏈接到非html文檔時進行標註

4)替換型標籤   元素的內容和尺寸由外部資源所定義,而不是元素本身

圖片 <img src="圖片的路徑"  alt="對圖片的文字描述,備選文本">     ←→    <a>

  • 若圖片起到裝飾作用,應使用CSS來插入;如果要設定圖片高寬,應使用CSS。
  • 圖片版權問題
  • title="圖片標題" 當鼠標懸停在圖片上時顯示,不推薦
  • <figure> 一個獨立單元,爲主要內容提供補充說明,可包含圖片、音視頻、代碼、方程、表格等。
  • <figure><img><figcaption> 搭配圖片的說明文字

視頻和音頻

<video>

  • src="01.webm" 視頻資源路徑
  • controls 控制回放功能
  • width/height
  • autoplay 自動播放 | loop 循環播放 | muted 默認關閉聲音
  • poster="圖像URL" 封面
  • preload="none | auto | metadata" 緩衝較大的文件,不緩衝|頁面加載後緩衝|盡緩衝文件元數據
  • <video>標籤內的段落<p> 後備內容
  • 嵌入多個媒體資源 <video/audio><source type="MIME types">

<audio>

  • 幾乎完全同上
  • 不支持width/height,不支持poster
  • 顯示音軌文本(字幕)<track kind(指定cues類型)="subtitle | caption | timed description"  src="01.vtt" srclang="en">

嵌入元素

歷史上程序員喜歡使用frames搭建網站,但現在已不再使用了。90年代末二十一世紀初,開始使用插件技術給網頁嵌入更豐富的內容,例如Video,Flash等。在HTML文檔中通過<object>或<emded>標籤使用插件。現在,<iframe>標籤(<video><audio><img><svg><canvas>等)的出現,使得嵌入內容更加便捷。

<object><embed> 嵌入插件豐富網頁(flash | PDF | 視頻 | SVG | 圖像)

<iframe>

  • src="URL路徑"  頁面加載完成後,使用JavaScript設置能提高速度????
  • allowfullscreen  通過全屏API設置全屏模式
  • frameborder="1"  0,不推薦 ,應使用CSS
  • width/height
  • 備選內容  
  • 安全隱患問題

矢量圖像   

位圖和矢量圖是常見的兩種類型。位圖使用像素網格來定義,包含精確的像素位置和色彩信息。流行的位圖格式包括Bitmap(.bmp),PNG(.png),JPEG(.jpg),GIF(.gif);矢量圖使用算法定義,包含圖形和路徑的定義,SVG格式,擁有較小的文件尺寸,卻高度可縮放。

添加方式:

  • <img src="01.svg" />  快速,可嵌套進<a>  |  無法使用JS操作圖像,內聯CSS樣式,無法使用CSS僞類
  • 使用<svg></svg>插入HTML  減少HTTP請求,使用外聯CSS樣式  |  只適用於在一個地方使用SVG
  • 使用<iframe>嵌入SVG   iframe回退機制????
  • 跨瀏覽器支持

<svg>

  • SVG是用於描述矢量圖像的XML語言,通過在<svg>中包含圖形元素可繪製矢量圖形。
  • <circle><rect>  簡單圖形
  • <feColorMatrix>  使用變換矩陣轉換顏色
  • <animate>  矢量圖形的動畫
  • <mask>  在圖像頂部應用蒙版

響應式圖片   

在不同的屏幕尺寸和分辨率的設備上都能工作得很好的圖片(響應式web設計的一部分)。

兩個問題:藝術方向問題(art direction problem) 使用不同的圖片以適應不同的空間分配<picture><source media>;分辨率切換問題(resolution switching problem) 使用相同顯示效果的圖片但包含多個不同的分辨率<img srcset sizes>。

5)表單

6)表格

HTML表格應該用於表格數據,許多人習慣用表格進行網頁佈局,這是很糟糕的。應該使用CSS layout技術。

<table>

  • <tr>  表格行
  • <th>  表格標題,加粗和居中
  • <td>  單元格
  • colspan="2" 設置一個單元格的寬度是兩個單元格
  • rowspan="2" 設置一個單元格的高度是兩個單元格
  • <colgroup> <col>  指定表格中的某一列;如果想要爲每一列設置樣式信息,<col span="2">
  • <caption>  爲表格添加一個標題
  • <thead><tfoot><tbody> 隱式包含
  • 嵌套表格是可行的,但不建議。
  • 使用scope屬性("row" | "col" | "rowgroup")標記行標題和列標題,有利於實現無障礙閱讀。
  • scope的替代方法,id和headers屬性。給標題添加id,單元格添加headers(包含行標題id和列標題id)。

二、語言

三、補充標準

XHTML   是使用XML編寫的HTML,編寫規範更嚴格。

XML(Extensible Markup Language)  被設計用於傳輸和存儲數據。是對HTML語言的一種補充。

  • XML聲明  <?xml version="1.0" encoding="ISO-8859-1"?>
  • 樹結構;XML屬性 v.s. 子元素;一些嚴格的語法,命名(數據庫名稱)
  • 不中斷應用程序的情況下進行擴展
  • XSLT  首選的 XML 樣式表語言
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章