整理我在自學前端的課程內容、筆記,以及一些實作的內容,不僅方便複習,也順道可以練習markdown語法的使用,期許可以幫助到更多的人。
HTML概述
- HTML:超文本標記語言,是一種標誌性的語言,非編程語言,不能使用邏輯運算。通過標籤將網路上的文檔格式進行統一,使分散網路資源連結為一個邏輯整體。
- 超文本,是一種組織信息的方法,通過超連結將多種媒介關聯起來。
- 標籤:用<>包裹的具有一定含義的內容,比如:
此為一組標籤。
HTML功能
- 展示在線的文檔,其中包含標題、文本、表格、列表以及照片等內容
- 通過超連結檢索在線的信息。
- 為獲取遠程服務而設計表單,可用於檢索信息、訂購產品等。
- 在文檔中直接包含電子表格,影片剪輯,聲音剪輯以及其他的一些應用。
動態網頁與靜態網頁
- 靜態網頁 :HTML代碼和內容書寫完畢後,頁面的內容和顯示效果舊基本上不會發生變化了── 除非你修改頁面程式碼
- 動態網頁 :頁面程式碼雖然沒有變,但顯示的內容可以 隨著時間、環境或者數據庫操作的結果而發生改變的。
注意 :請勿將動態網頁和頁面內容是否有動畫效果混為一談,比如網頁中的投影片效果,文字滾動效果,如果內容本身沒有變化,那麼也屬於靜態網頁。
HTML標籤
HTML基本結構
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="keywords" content=""> <meta name="description" content=""> <title>標題</title> <link rel="shortcut icon" href="圖像連結" type="image/x-icon"> <link rel="stylesheet" href="style.css"> <script type="text/javascript" src="index.js"></script> <style> </style> </head> <body> <p>這是一個段落</p> </body> <script> </script> </html>
|
基本標籤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div> <p></p> abc <div>dbe</div> </div> <h1>前端課程內容</h1> <h2>Java開發</h2> <h6>大前端開發</h6>
<p> 魔物獵人的存在,令我無法停止對他的思考。魔物獵人對我來說有著舉足輕重的地位,必須要嚴肅認真的看待。我們不妨可以這樣來想: 伊朗說過一句很有意思的話,大塊的石頭,是忠誠的標記,因為它不會使人跌倒。他會這麼說是有理由的。魔物獵人,發生了會如何,不發生又會如何。</p> <p> 魔物獵人的存在,令我無法停止對他的思考。魔物獵人對我來說有著舉足輕重的地位,必須要嚴肅認真的看待。我們不妨可以這樣來想: 伊朗說過一句很有意思的話,大塊的石頭,是忠誠的標記,因為它不會使人跌倒。他會這麼說是有理由的。</p>魔物獵人,發生了會如何,不發生又會如何。
<p>魔物獵人的存在,令我無法停止對他的思考。魔物獵人對我來說有著舉足輕重的地位,必須要嚴肅認真的看待。我們不妨可以這樣來想: 伊朗說過一句很有意思的話,大塊的石頭,是忠誠的標記,因為它不會使人跌倒。他會這麼說是有理由的。<br />魔物獵人,發生了會如何,不發生又會如何。</p>
<hr /> <hr width="80%" align="center" color="red" height="2px" />
<a href="網址" title="提示文字">顯示的連結名稱</a> <a href="01 HTML 文檔結構.html" target="_blank">文檔結構</a> <a href="01 HTML 文檔結構.html" target="_self">文檔結構</a>
<img src="連結" title="test" alt="商品" /> <img src="連結" alt="商品" />
<div>div1</div> <div>div2</div> <span>span1</span> <span>span2</span> <br><br><br><br><br>
<ul> <li>li1</li> <li>li2</li> <li>li3</li> <li>li3</li> </ul> <ol> <li>li1</li> <li>li2</li> <li>li3</li> <li>li3</li> </ol> <br><br><br><br><br>
</body> </html>
|
標籤屬性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>標籤屬性</title> </head> <body>
<p title="段落" class="content" id="content">這是一個測試段落</p> </body> </html>
|
文本格式化標籤
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>文本格式化標籤</title> </head> <body> <b>加粗</b> <strong>加粗且強調</strong>
<i>文字傾斜</i> <em>文字傾斜且強調</em>
<pre>預格式化文本,保留 換行和空格 及寬度</pre> <p>我是正常大小的文字</p> <small>我是小一號的文字</small> <big>我是大一號的文字</big>
<p>正常顯示:X1+X2=Y</p> <p>下標:X<sub>1</sub>+X<sub>2</sub>=Y</p> <p>上標:X<sup>1</sup>+X<sup>2</sup>=Y</p> </body> </html>
|
單標籤
只由一個標籤組成,撰寫單標籤時盡量閉合(最後加上/)。
1 2 3 4 5 6
| 換行符:<br/> 水平線:<hr/> 圖片標籤:<img/> 文本標籤:<input/> link標籤:<link/> 元信息標籤:<meta/>
|
雙標籤
由開始標籤和結束標籤組合而成,必須成對使用。
1 2 3 4 5 6 7 8 9 10
| <html></html> <head></head> <title></title> <body></body> <table></table> <span></span> <div></div> <p></p> <h1></h1>
|
HTML實體轉譯
| 實體字符 |
編譯後字符 |
| < |
小於(<) |
| > |
大於(>) |
| & |
與(&) |
| |
空格 |
| © |
版權符號 |
| × |
乘號(x) |
| ÷ |
除號(x) |
HTML塊級元素和行內元素
塊級元素(標籤)
相當於執行了display:block操作。
特點
- 獨佔一行
- 寬度和高度可控制,若未設置其寬度,將默認鋪滿整行
- 其內部可以包含塊級和行級元素
包含以下這些標籤
1
| address,dir,div,dl,dt,dd,fieldset,form,h1~h6,hr,menu,noframes,ol,p,pre,table,ul等。
|
行內元素(標籤)
相當於執行了display:inline操作。
特點
- 不會獨佔一行,與相鄰的行級元素佔同一行,直到當前行佔滿為止,會自動掉到下一行
- 寬度和高度不可控
- 其內只能包含行級元素
包含以下標籤
1
| a,b,bdo,big,small,br,cite,em,font,i,img,input,kbd,label,select,span,strong,sub,sup,textarea等
|
行級標籤與塊級標籤的互相轉換
行級標籤和塊級標籤在style中添加display:inline/block可實現互相轉換。
1 2 3 4
| <p style="width:300px;height: 50px;background: gray;display: inline;">p</p>
<span style="width:300px;height: 50px;background: gray;display: block;">span</span>
|
W3C規範
什麼是W3C
萬維網聯盟(World Wide Web)。
一個國際性的中立組織,專門負責統一web相關的各項標準。
W3C標準組成及為什麼需要統一WEB標準
W3C標準由結構(html)、表現(css)、行為(javascript)三部分組成。
藉由建立通用瀏覽器解析規則,可以讓不同的瀏覽器能解析出相同的內容呈現給使用者,這也是W3C出現的緣由。
標籤嵌套原則
- 塊元素可以包含內聯(行級)元素,但內聯(行級)元素不能包含塊元素,只能包含其他內聯(行級)元素。
1 2 3
| <div><h1></h1><p></p></div> - 對 <a herf="#"><span></span></a> - 對 <span><div></div></span> - 錯
|
1 2
| <p><ol><li></li></ol></p> - 錯 <p><div></div></p> - 錯
|
- 幾個特殊的塊級元素只能包含行級元素,不能再包含塊級元素,這幾個特殊標籤為:
1 2 3
| <div><h2></h2><p></p></div> - 對 <div><a herf="#"></a><span></span></div> - 對 <div><h2></h2><span></span></div> - 錯
|
HTML語義化標籤
- 什麼是語義化標籤?
語義化,通俗地說就是:明白每個標籤的用途(在什麼情況下我可以使用這個標籤才合理)。
比如:
網頁上的文章標題可以使用’h1-h6’,網頁上的各個欄目的欄目名稱也可以使用’h1-h6’。
文章中內容的段落就得放在段落標籤p中,在文章中有想強調的文本,就可以使用em標籤表示強調等。
-
為什麼要使用語義化標籤?
- 更容易被搜尋引擎收錄
- 更容易讓屏幕閱讀器讀出網頁內容
- 能夠更好的體現頁面的主題
- 兼容性更好,支持更多的網路設備
-
HTML語義化標籤
- <a>標籤:實現超連結
強調:title屬性的作用,游標滑過連結文字時會顯示這個屬性的文本內容。這個屬性在實際網頁開發中作用很大,主要方便搜尋引擎了解連結地址的內容(語義化更友好)。
- <p>標籤:文章段落放在<p>標籤中
- <hx>標籤:文章標題、欄目標題用<hx>表示。
標題標籤一共有6個,h1、h2、h3、h4、h5、h6分別為一級標題、二級標題、三級標題、四級標題、五級標題、六級標題,並且根據重要性遞減,<h1>是最高的等級。
- <strong>和<em>標籤:特別強調某幾個文字
兩者在強調的語氣上有區別:<em>表示強調,<strong>表示更強烈的強調。並且在瀏覽器中<em>默認用斜體表示,<strong>用粗體表示,相比之下,使用<strong>表示強調的人比較多。
- <q>標籤:短文本引用。
注意要引用的文本不用加雙引號,瀏覽器會對<q>標籤自動添加雙引號。
- <address>標籤:為網頁加入地址信息。
- <ul>標籤:無序列表。
- <ol>標籤:有序列表。
- <caption>標籤:為表格添加標題和摘要。
摘要的內容是不會在瀏覽器中顯示出來的,他的作用是增加表格的可讀性(語義化),使搜索引擎更好的讀懂表格內容,還可以使屏幕閱讀器更好的幫助特殊用戶讀取表格內容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<table border="1"> <caption>學生信息表</caption> <tr> <th>學號</th> <th>姓名</th> <th>年齡</th> </tr> </table> <tr> <td>010001</td> <td>張三</td> <td>18歲</td> </tr>
|
文件命名規範
項目開發時,項目中文件或目錄名中不能出現漢字或空格之類的其他符號,文件和目錄名一般以字母或下劃線(_)開頭,其後可以出現字母、數字、下劃線。
| 頁面 |
命名規範 |
| 首頁 |
index.html |
| 公司介紹 |
about.html |
| 新聞列表 |
news.html |
| 新聞詳情頁 |
news_details.html |
| 產品列表 |
product.html |
| 產品詳情列 |
pro_details.html |
| 聯繫我們 |
contact.html |
其他W3C常見規範
1 2 3
| <meta http-equiv="content-type" content="text/html;charset="utf-8" /> 或: <meta chatset="utf-8" />
|
1 2 3
| <script language="javarscript" type="text/javascript"> </script>
|
1 2 3
| <style type="text/css"> </style>
|
為了保證各瀏覽器的兼容性,在寫css時請帶上計量單位。
1 2
| <p>>...&...<</p> - 盡量不使用 <p>>...&...<</p> - 盡量使用
|
- 要給所有屬性賦一個值,若不賦值,默認他的值即是屬性名本身。
1 2
| <img src="..." alt="..." /> <input type="text" readonly />
|
- 所有標籤都必須要有一個相應的結束標記(標籤必須要閉合)。
1 2
| <div><p>....</div></p> - 錯誤 <div><p>....</p></div> - 正確
|
- 圖片要添加有意義的alt屬性。
- 在form表單中增加label標籤,以增加用戶體驗效果、友好度。