HTML解釋:css
HTML是英文Hyper Text Mark-up Language(超文本標記語言)的縮寫,他是一種製做萬維網頁面標準語言(標記)。至關於定義統一的規則(W3C),你們都來遵照他,這樣就可讓瀏覽器根據標記語言的規則去解釋它。html
瀏覽器負責將標籤翻譯成用戶「看得懂」的格式,呈現給用戶!python
網頁的組成:web
一個網頁通常由兩部分組成即:django
HTML負責描述網頁的結構和內容(如標題,導航欄等) CSS則負責網頁的表現(外觀)(如背景顏色,字體樣式等)。瀏覽器
<head>和</head>之間的內容,是元信息和網站的標題 元信息通常是不顯示出來的,可是記錄了你這個HTML文件的不少有用的信息
<body>和</body>之間的內容,是瀏覽器呈現出來的,用戶看到的頁面效果。也就是說這裏是網頁的主體。也就是body的身體之意
<html></html>是說明這個是一個網頁。告訴瀏覽器這個網頁的開始和結束。他包含了以後的兩個元素。<head>和</head>|<body>和</body>安全
文檔結構以下:服務器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> </body> </html>
Doctype告訴瀏覽器使用什麼樣的html或xhtml規範來解析html文檔框架
HTML語言須要一個標準,當咱們在第一行指定了<!DOCTYPE html>的時候,當瀏覽器去訪問咱們的代碼的時候就就按照HTML代碼裏指定的標準去讀取和渲染給咱們展示的頁面。ide
爲何要使用<!DOCTYPE html>這個去告訴瀏覽器呢?
DOCTYPE模式:
咱們先了解一下DOCTYPE的模式
問題產生:
當Netscape4(譯註:網景公司早期的瀏覽器)和IE4(微軟公司早期的瀏覽器)實現CSS機制時,並無遵循W3C提出的標準。Netscape4 提供了糟糕的支持,而IE4 雖然接近標準,但依舊未能徹底正確的支持標準。儘管IE 5 修復了IE4 許多的問題(bugs),可是依然延續CSS實現中的其它故障(主要是盒模型(box model)問題)。
爲了保證本身的網站在不一樣的瀏覽器中都能正確展示,網頁開發者不得不依據各個瀏覽器的自身的規範來使用CSS。所以大部分網站的CSS實現並未符合W3C的標準。
然而隨着標準一致性變得愈來愈重要,瀏覽器開發商不得不面臨一個艱難的抉擇:逐漸遵循W3C的標準是前進的方向。可是改變現有CSS的實現,完整去遵循標準,會使許多網站或多或少受到破壞。若是瀏覽器忽然以正確的方式解析現存的CSS,陳舊的網站顯示必然受到影響。
所以當即遵循標準會產生問題,然而忽略標準則又會維持瀏覽器大戰時(譯註:微軟和網景之間的一段競爭)所產生的混亂。
解決方案:
換句話說,全部的瀏覽器須要提供兩種模式:怪異模式(即兼容模式)服務於舊式規則,嚴格模式服務於標準規則。Mac平臺的IE瀏覽器最早實現這兩種模式,Mozilla, Safari、Opera和Windows平臺的IE6也相繼實現了這兩種模式。WIndows平臺的IE5和Netscape4則只提供了怪異模式。
選擇使用哪一種模式須要一個觸發器,而 「DOCTYP切換」 則用於此目的。依照標準:任何一個(X)HTML文檔必須擁有一個DOCTYPE(譯註:DTD(文檔類型定義)是一組機器可讀的規則,它們指示 (X)HTML文檔中容許有什麼,不容許有什麼,DOCTYPE正是用來告訴瀏覽器使用哪一種DTD,通常放在(X)HTML文檔開頭聲明)用以告訴其餘人 這個文檔的類型風格
一、Meta(metadata information)
提供有關頁面的元信息,例:頁面編碼、刷新、跳轉、針對搜索引擎和更新頻度的描述和關鍵詞
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="5"> <metahttpequiv="refresh"Content="1;Url=http://www.cnblogs.com/aylin1/" /> <meta name="keywords" content="博客,張巖林,帥哥,"> <meta name="description" content="博客園是一個面向開發者的知識分享社區。自建立以來,博客園一直致力並專一於爲開發者打造一個純淨的技術交流社區,推進並幫助開發者經過互聯網分享知識,從而讓更多開發者從中受益。博客園的使命是幫助開發者用代碼改變世界。"> <title>張巖林</title> <link rel="icon" href="https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png" type="image/x-icon"> </head> <body> </body> </html>
1>定義編碼格式
<meta charset="UTF-8"> #定義編碼爲utf-8
2>刷新和跳轉頁面
<meta http-equiv="refresh" content="5"> # 5秒跳轉
<metahttpequiv="refresh"Content="1;Url=http://www.cnblogs.com/aylin1/" /> #跳轉至個人博客
3>關鍵字
關鍵字的做用:通常是讓爬蟲之類的收錄程序,當他們在爬你的網站的時候,若是你有關鍵字,那麼他們會優先把關鍵字收錄到他們的記錄中,好比百度:若是他們收錄以後,他們搜索你的關鍵字的時候,就能找到我們的網站。
<meta name="keywords" content="博客,張巖林,帥哥,">
4>描述
例如博客園的描述以下:
<meta name="description" content="博客園是一個面向開發者的知識分享社區。自建立以來,博客園一直致力並專一於爲開發者打造一個純淨的技術交流社區,推進並幫助開發者經過互聯網分享知識,從而讓更多開發者從中受益。博客園的使命是幫助開發者用代碼改變世界。">
5>title
設置標籤爲張巖林
<title>張巖林</title>
6>標籤圖標Link
<link rel="icon" href="https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png" type="image/x-icon">
7>導入CSS相似python中導入模塊相似
<link rel="stylesheet" href="css/css_model.css">
8>、Style
一、在當前文件中寫Css樣式
二、在其餘文件中寫Css樣式相似python的模塊導入的方式把Css樣式導入到當前文件中使用
9>、Script
一、在當前文件中寫JS
二、在其餘文件中寫JS相似python的模塊導入的方式把JS導入到當前文件中使用
body裏面分爲兩類標籤:塊級標籤和內聯標籤。
一、塊級標籤:<p><h1><table><ol><ul><form><div>
二、內聯標籤:<a><input><img><sub><sup><textarea><span>
塊級標籤元素的特色
① 老是在新行上開始;
② 高度,行高以及外邊距和內邊距均可控制;
③ 寬度缺省是它的容器的100%,除非設定一個寬度。
④ 它能夠容納內聯元素和其餘塊元素
內聯標籤元素的特色
① 和其餘元素都在一行上;
② 高,行高及外邊距和內邊距不可改變;
③ 寬度就是它的文字或圖片的寬度,不可改變
④ 內聯元素只能容納文本或者其餘內聯元素
對行內元素,須要注意以下
設置寬度width 無效。
設置高度height 無效,能夠經過line-height來設置。
設置margin 只有左右margin有效,上下無效。
設置padding 只有左右padding有效,上下則無效。注意元素範圍是增大了,可是對元素周圍的內容是沒影響的。
一、基本標籤
<hn>: n的取值範圍是1~6; 從大到小. 用來表示標題.
<p>: 段落標籤. 包裹的內容被換行.而且也上下內容之間有一行空白.
<b> <strong>: 加粗標籤.
<strike>: 爲文字加上一條中線.
<em>: 文字變成斜體.
<sup>和<sub>: 上角標 和 下角表.
<br>:換行.
<hr>:水平線
<div><span>
廢話很少說,直接擼碼分析
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>張巖林</title> </head> <body> <br> <hr> <h1>張巖林</h1> <h2>張巖林</h2> <h3>張巖林</h3> <h4>張巖林</h4> <h5>張巖林</h5> <h6>張巖林</h6> <hr> <p>段落標籤1</p> <p>段落標籤2</p> <hr> <b>加粗文字方法一</b> <br> <strong>加粗文字方法二</strong> <hr> <p>原價:<strike>299 </strike> 現價:10 文字中間加橫線</p> <p><em>斜體字</em></p> <p> 2<sup>n</sup> 上角標</p> <p>h<sub>2</sub>o 下角標</p> <p>< 小於號</p> <p>> 大於號</p> <p>© </p> <p>®</p> </body> </html>
效果以下:
二、圖形標籤<img>
src: 要顯示圖片的路徑.
alt: 圖片沒有加載成功時的提示.
title: 鼠標懸浮時的提示信息.
width: 圖片的寬
height:圖片的高 (寬高兩個屬性只用一個會自動等比縮放.)
<img src="111426147.jpg" alt="圖片加載失敗" title="美女">
三、超連接標籤(錨標籤)<a>:
href:要鏈接的資源路徑 格式以下: href="http://www.baidu.com"
target: _blank : 在新的窗口打開超連接. 框架名稱: 在指定框架中打開鏈接內容.
name: 定義一個頁面的書籤.
用於跳轉 href : #書籤名稱.
<a href="http://www.cnblogs.com/aylin/p/5608175.html" target="_blank">猛戳這裏</a>
還有一種本頁標籤跳轉,經過定義ID來進行查找到內容
<a href="#a">李白</a> <div id="a" style="background-color: #197991">牀前明月光,<br>疑是地上霜。<br>舉頭望明月,<br>低頭思故鄉。</div>
四、列表標籤:
<ul>: 無序列表
<ol>:有序列表
<li>:列表中的每一項.
<dl> 定義列表
<dt> 列表標題
<dd> 列表項
<body> <ol> <li>無序一</li> <li>無序二</li> <li>無序三</li> <li>無序四</li> </ol> <ul> <li>有序一</li> <li>有序二</li> <li>有序三</li> <li>有序四</li> </ol> </ul> <dl> <dt>第一章</dt> <dd>1.1</dd> <dd>1.2</dd> <dd>1.3</dd> <dd>1.4</dd> </dl>
效果以下:
五、表格標籤: <table>:
border: 表格邊框.
cellpadding: 內邊距
cellspacing: 外邊距.
width: 像素 百分比.(最好經過css來設置長寬)
<tr>: table row
<th>: table head cell
<td>: table data cell
rowspan: 單元格豎跨多少行
colspan: 單元格橫跨多少列(即合併單元格)
<th>: table header <tbody>(不經常使用): 爲表格進行分區.
<table border="" cellspacing="1" cellpadding="20" style="text-align: center;height: 100px"> <tr> <td>編號</td> <td>姓名</td> <td>班級</td> <td>數學</td> <td>語文</td> <td>英文</td> </tr> <tr> <td>001</td> <td>張巖林</td> <td>S1</td> <td>120</td> <td>109</td> <td>120</td> </tr> <tr> <td>001</td> <td>張林</td> <td>S1</td> <td>100</td> <td>19</td> <td>100</td> </tr> <tr> <td>001</td> <td>小康</td> <td>S1</td> <td>89</td> <td>100</td> <td>10</td> </tr> <tr> <td>001</td> <td>小虎</td> <td>S1</td> <td>10</td> <td>19</td> <td>12</td> </tr> </table>
效果以下:
表格中還有合併單元格:
<table border="" cellspacing="1" cellpadding="1" style="width: 300px;height: 100px;color: #FC0D51;background-color: #9E9C9C;text-align: center"> <tr> <td>一</td> <td>二</td> <td>三</td> </tr> <tr> <td colspan="3">1 2 3</td> </tr> <tr> <td>4</td> <td>5</td> <td rowspan="2">6 9</td> </tr> <tr> <td>7</td> <td>8</td> </tr> </table>
六、表單標籤(django)<form>:
表單用於向服務器傳輸數據。
表單可以包含 input 元素,好比文本字段、複選框、單選框、提交按鈕等等。
表單還能夠包含textarea、select、fieldset和 label 元素。
1>.表單屬性
HTML 表單用於接收不一樣類型的用戶輸入,用戶提交表單時向服務器傳輸數據,從而實現用戶與Web服務器的交互。表單標籤, 要提交的全部內容都應該在該標籤中.
action: 表單提交到哪. 通常指向服務器端一個程序,程序接收到表單提交過來的數據(即表單元素值)做相應處理,好比https://www.sogou.com/web
method: 表單的提交方式 post/get 默認取值 就是 get(信封)
get: 1.提交的鍵值對.放在地址欄中url後面. 2.安全性相對較差. 3.對提交內容的長度有限制.
post:1.提交的鍵值對 不在地址欄. 2.安全性相對較高. 3.對提交內容的長度理論上無限制.
get/post是常見的兩種請求方式.
2>.表單元素
<input> type: text 文本輸入框
password 密碼輸入框
radio 單選框
checkbox 多選框
submit 提交按鈕
button 按鈕(須要配合js使用.) button和submit的區別?
file 提交文件:form表單須要加上屬性enctype="multipart/form-data"
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>知乎</title> </head> <body> <div style="background-color: aquamarine;height: 590px;width: 292px; margin: 0 auto;margin-top: 6%"> <img src="QQ圖片20160624092733.png"> <br> <p style="text-align: center">與世界分享你的知識、經驗和看法</p> <hr> <form action="http://127.0.0.1:8080" method="post" enctype="multipart/form-data"> <p> 用 戶 <input type="text" name="username"></p> <p> 密 碼 <input type="password" name="passwd"></p> <hr> <p> 性 別 男<input type="radio" name="sex" value="man"> 女<input type="radio" name="sex" value="woman"></p> <hr> <p> 愛 好 籃球<input type="checkbox" name="lanqiu" value="籃球"> 足球<input type="checkbox" name="zuqiu" value="足球"> 排球<input type="checkbox" name="paiqiu" value="排球"> 檯球<input type="checkbox" name="taiqiu" value="檯球"> </p> <hr> <br> 城 市 <select name="language" > <optgroup label="河北省"> <option value="保定市">保定市</option> <option value="邯鄲市">邯鄲市</option> <option value="承德市">承德市</option> </optgroup> <optgroup label="河南省"> <option value="洛陽市">洛陽市</option> <option value="信陽市">信陽市</option> <option value="鄭州市">鄭州市</option> </optgroup> <br> </select> <hr> <p style="text-align: center">備 注<textarea name="qq" style="height: 60px;width: 220px"></textarea></p> <p><input type="file" name="file_name" ></p> <hr> <p style="text-align: center"><input type="button" value="提交"> <input type="button" value="猛戳這裏"></p> </form> </div> <table > <tr> <td>1</td> <td>2</td> </tr> <tr> <td>1</td> <td>2</td> </tr> </table> </body> </html>
效果有點low,講究看吧
下面咱就來分析一下每一個代碼的意義: