一、什麼是HTML hyper text markup language 即超文本標記語言 超文本: 就是指頁面內可以包含圖片、鏈接,甚至音樂、程式等非文字元素。 標記語言: 標記(標簽)構成的語言. 網頁==HTML文檔,由瀏覽器解析,用來展示的 靜態網頁:靜態的資源,如xxx.html 動態網頁 ...
一、什麼是HTML
hyper text markup language 即超文本標記語言
超文本: 就是指頁面內可以包含圖片、鏈接,甚至音樂、程式等非文字元素。
標記語言: 標記(標簽)構成的語言.
網頁==HTML文檔,由瀏覽器解析,用來展示的
靜態網頁:靜態的資源,如xxx.html
動態網頁:html代碼是由某種開發語言根據用戶請求動態生成的
html文檔樹形結構圖:
二、標簽
1. 什麼是標簽
- 是由一對尖括弧包裹的單詞構成 例如: <html> *所有標簽中的單詞不可能以數字開頭.
- 標簽不區分大小寫.<html> 和 <HTML>. 推薦使用小寫.
- 標簽分為兩部分: 開始標簽<a> 和 結束標簽</a>. 兩個標簽之間的部分 我們叫做標簽體.
- 有些標簽功能比較簡單.使用一個標簽即可.這種標簽叫做自閉和標簽.例如: <br/> <hr/> <input /> <img />
- 標簽可以嵌套.但是不能交叉嵌套. <a><b></a></b>
2. 標簽的屬性
- 通常是以鍵值對形式出現的. 例如 name="alex"
- 屬性只能出現在開始標簽 或 自閉和標簽中.
- 屬性名字全部小寫. *屬性值必須使用雙引號或單引號包裹 例如 name="alex"
- 如果屬性值和屬性名完全一樣.直接寫屬性名即可. 例如 readonly
3. <!DOCTYPE html>標簽
由於歷史的原因,各個瀏覽器在對頁面的渲染上存在差異,甚至同一瀏覽器在不同版本中,對頁面的渲染也不同。在
W3C標準出台以前,瀏覽器在對頁面的渲染上沒有統一規範,產生了差異(Quirks mode或者稱為Compatibility
Mode);由於W3C標準的推出,瀏覽器渲染頁面有了統一的標準(CSScompat或稱為Strict mode也有叫做Standars
mode),這就是二者最簡單的區別。
W3C標準推出以後,瀏覽器都開始採納新標準,但存在一個問題就是如何保證舊的網頁還能繼續瀏覽,在標準出來以前,
很多頁面都是根據舊的渲染方法編寫的,如果用的標準來渲染,將導致頁面顯示異常。為保持瀏覽器渲染的相容性,使以
前的頁面能夠正常瀏覽,瀏覽器都保留了舊的渲染方法(如:微軟的IE)。這樣瀏覽器渲染上就產生了Quircks mode
和Standars mode,兩種渲染方法共存在一個瀏覽器上。
window.top.document.compatMode: //BackCompat:怪異模式,瀏覽器使用自己的怪異模式解析渲染頁面。 //CSS1Compat:標準模式,瀏覽器使用W3C的標準解析渲染頁面。
如果你的頁面沒有DOCTYPE的聲明,那麼compatMode預設就是BackCompat,這也就是惡魔的開始 -- 瀏覽器按照自己的方式解析渲染頁面,那麼,在不同的瀏覽器就會顯示不同的樣式。
如果你的頁面添加了<!DOCTYPE html>那麼,那麼就等同於開啟了標準模式,那麼瀏覽器就得老老實實的按照W3C的標準解析渲染頁面,這樣一來,你的頁面在所有的瀏覽器里顯示的就都是一個樣子了。
這就是<!DOCTYPE html>的作用。
4. <head>標簽
<meta>
meta標簽的組成:meta標簽共有兩個屬性,它們分別是http-equiv屬性和name 屬性,不同的屬性又有不同的參數值,這些不同的參數值就實現了不同的網頁功能。
1: name屬性主要用於描述網頁,與之對應的屬性值為content,content中的內容主要是便於搜索引擎機器人查找信息和分類信息用的。
<meta name="keywords" content="meta總結,html meta,meta屬性,meta跳轉"> <meta name="description" content="這是一個網站"/>
2: http-equiv顧名思義,相當於http的文件頭作用,它可以向瀏覽器傳回一些有用的信息,以幫助正確和精確地顯示網頁內容,content中的內容其實就是各個參數的變數值 。
<meta http-equiv="Refresh" content="2;URL=https://www.baidu.com"> //(註意後面的引號,分別在秒數的前面和網址的後面) <meta http-equiv="content-Type" charset=UTF8"> <meta http-equiv = "X-UA-Compatible" content = "IE=EmulateIE7" />
其他標簽
<title>oldboy</title> <link rel="icon" href="http://www.jd.com/favicon.ico"> <link rel="stylesheet" href="css.css"> <script src="hello.js"></script>
5. <body>標簽
塊級標簽和內聯標簽
<hn>: n的取值範圍是1~6; 從大到小. 用來表示標題. <p>: 段落標簽. 包裹的內容被換行.並且也上下內容之間有一行空白. <b> <strong>: 加粗標簽. <strike>: 為文字加上一條中線. <em>: 文字變成斜體. <sup>和<sub>: 上角標 和 下角表. <br>:換行. <hr>:水平線 <div><span>
塊級標簽:<p><h1><table><ol><ul><form><div>
內聯標簽:<a><input><img><sub><sup><textarea><span>
block(塊)元素的特點
-
- 總是在新行上開始;
- 寬度預設是它的容器的100%,除非設定一個寬度。
- 它可以容納內聯元素和其他塊元素
inline元素的特點
-
- 和其他元素都在一行上;
- 寬度就是它的文字或圖片的寬度,不可改變
- 內聯元素只能容納文本或者其他內聯元素
特殊字元
< >;";©®
圖形標簽<img>
src: 要顯示圖片的路徑. alt: 圖片沒有載入成功時的提示. title: 滑鼠懸浮時的提示信息. width: 圖片的寬 height:圖片的高 (寬高兩個屬性只用一個會自動等比縮放.) <img src="img/abc.jpg " alt="123" title="rua" width="300" height="300"/>
超鏈接標簽<a>
href:要連接的資源路徑 格式如下: href="http://www.baidu.com" target: _blank : 在新的視窗打開超鏈接. 框架名稱: 在指定框架中打開連接內容. name: 定義一個頁面的書簽. 用於跳轉 href : #id.(錨) <a href="http://www.xiaohuar.com/" target="_blank">
列表標簽
<ul> <li>1</li> <li>2</li> <li>3</li> </ul> <ol> <li>1</li> <li>2</li> <li>3</li> </ol> <dl> <dt>第一章</dt> <dd>第一節</dd> <dd>第二節</dd> <dt>第二章</dt> <dd>第一節</dd> <dd>第二節</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 bgcolor="beige" border="1px" cellpadding="5px" cellspacing="1px"> <tr> <th rowspan="2">111</th> <th>222</th> <th>333</th> </tr> <tr> <td>222</td> <td>333</td> </tr> <tr> <td>111</td> <td colspan="2" align="center">222</td> </tr> </table>
表單標簽<form>
<input> 標簽的屬性和對應值
type: text 文本輸入框 password 密碼輸入框 radio 單選框 checkbox 多選框 submit 提交按鈕 button 按鈕(需要配合js使用.) button和submit的區別? file 提交文件:form表單需要加上屬性enctype="multipart/form-data" name: 表單提交項的鍵.註意和id屬性的區別:name屬性是和伺服器通信時使用的名稱;而id屬性是瀏覽器端使用的名稱,該屬性主要是為了方便客戶端編程,而在css和javascript中使用的 value: 表單提交項的值.對於不同的輸入類型,value 屬性的用法也不同: ?12345type="button", "reset", "submit" - 定義按鈕上的顯示的文本 type="text", "password", "hidden" - 定義輸入欄位的初始值 type="checkbox", "radio", "image" - 定義與輸入相關聯的值 checked: radio 和 checkbox 預設被選中 readonly: 只讀. text 和 password disabled: 對所用input都好使.
<select> 下拉選標簽屬性
name:表單提交項的鍵. size:選項個數 multiple:multiple <option> 下拉選中的每一項 屬性: value:表單提交項的值. selected: selected下拉選預設被選中 <optgroup>為每一項加上分組
<textarea> 文本域
name: 表單提交項的鍵. cols: 文本域預設有多少列 rows: 文本域預設有多少行
<label>
<label for="www">姓名</label> <input id="www" type="text">
<fieldset>
<fieldset> <legend>登錄吧</legend> <input type="text"> </fieldset>
<form action="192.168.50.85:8080"> <div>姓名<input type="text" name="user" /></div> <div>密碼<input type="password" name="passwd" /></div> <div>性別 男<input type="radio" name="gender" value="man"/> 女<input type="radio" name="gender" value="woman"/></div> <div>愛好 電影<input type="checkbox" name="hobby" value="movie"/> 音樂<input type="checkbox" name="hobby" value="music"/></div> <div><input type="submit" value="提交"/></div> <div><input type="button" value="提交"/></div> <div>簡介<textarea name="text" id="1" cols="30" rows="3">請輸入簡介</textarea></div> <div>省<select name="province" id="2" > <option value="henan">河南</option> <option value="hubei">湖北</option> <option value="hebei">河北</option> </select> </div> </form>