空標(biāo)簽
含義:標(biāo)簽里面不能有內(nèi)容箫锤。
在 HTML 中贬蛙,通常在一個空元素上使用一個閉標(biāo)簽是無效的。
HTML中有以下空標(biāo)簽:
<area>
<base>
<br>
<col>
<colgroup>
when the <span>
is present
<command>
<embed>
<hr>
<img>
<input>
<keygen>
<link>
<meta>
<param>
<source>
<track>
<wbr>
可替換標(biāo)簽
含義:指標(biāo)簽會被替代谚攒,例如img標(biāo)簽會被下載的圖片替代阳准。
典型的可替換元素有 <img>
、 <object>
五鲫、 <video>
和 表單元素,如<textarea>
岔擂、 <input>
位喂。 某些元素只在一些特殊情況下表現(xiàn)為可替換元素,例如 <audio>
和 <canvas>
乱灵。
常用的HTML標(biāo)簽
iframe
用途很少塑崖。它也是一個可替換標(biāo)簽。
作用:嵌套頁面
所有屬性:iframe
常用屬性:
- src:要打開的路徑痛倚。
- name:可以通過設(shè)置
iframe
里面a
標(biāo)簽的target
屬性规婆,然后設(shè)置一樣的name
屬性值,就可以在iframe
中訪問a
標(biāo)簽里面的鏈接。
-iframeborder:設(shè)置iframe
的邊框抒蚜,一般需要寫iframeborder="0"
掘鄙。
a
跳轉(zhuǎn)頁面(HTTP GET 請求)。
所有屬性:a
常用屬性:
- href:跳轉(zhuǎn)鏈接嗡髓。
內(nèi)容可以為:- 無協(xié)議鏈接:直接寫//就是無協(xié)議的絕對路徑操漠,瀏覽器會根據(jù)當(dāng)前協(xié)議,補(bǔ)全無協(xié)議鏈接的協(xié)議饿这。應(yīng)該盡量不使用 file:// 協(xié)議預(yù)覽網(wǎng)頁浊伙,以免無協(xié)議鏈接出錯。
- javascript 偽協(xié)議:偽協(xié)議可以實(shí)現(xiàn)「點(diǎn)擊之后沒有任何動作的 a 標(biāo)簽」长捧,滿足一些奇葩需求嚣鄙。
- 空(""):點(diǎn)擊之后頁面會刷新。
- 查詢字符串:如"?name=xxx"串结。
-
#
:頁面錨點(diǎn)變成#哑子,頁面滾動到頂部。不發(fā)起請求奉芦,別的都會發(fā)起請求赵抢。
- target:該屬性指定在何處顯示鏈接的資源。 取值為標(biāo)簽(tab)声功,窗口(window)烦却,或框架(iframe)等瀏覽上下文的名稱或其他關(guān)鍵詞。
以下關(guān)鍵字具有特殊的意義:- _self: 當(dāng)前頁面加載先巴。此值是默認(rèn)的其爵,如果沒有指定屬性的話。
- _blank: 新窗口打開伸蚯。
- _parent: 加載響應(yīng)到當(dāng)前框架的HTML4父框架或當(dāng)前的HTML5瀏覽上下文的父瀏覽上下文摩渺。如果沒有parent框架或者瀏覽上下文,此選項(xiàng)的行為方式相同_self剂邮。
- _top: IHTML4中:加載的響應(yīng)成完整的摇幻,原來的窗口,取消所有其它frame挥萌。 HTML5中:加載響應(yīng)進(jìn)入頂層瀏覽上下文(即绰姻,瀏覽上下文,它是當(dāng)前的一個的祖先引瀑,并且沒有parent)狂芋。如果沒有parent框架或者瀏覽上下文,此選項(xiàng)的行為方式相同_self憨栽。
- download:此屬性指示瀏覽器下載URL而不是導(dǎo)航到URL帜矾,因此將提示用戶將其保存為本地文件翼虫。(如果不想用此方法設(shè)置下載,也可以設(shè)置http響應(yīng)的content-type:application/octet-stream)
form(表單)
跳轉(zhuǎn)頁面(HTTP POST 請求)屡萤。file協(xié)議不能post珍剑。也可以發(fā)送GET請求,一般發(fā)POST灭衷。
如果form里面沒有提交按鈕次慢,就無法提交form。
所有屬性:form
常用屬性
- action:一個處理這個form信息的程序所在的URL翔曲。
- method:指定請求動詞迫像。只可以GET和POST,一般用POST瞳遍。用GET時表單數(shù)據(jù)會附加在 action 屬性的URI中闻妓,并以 '?' 作為分隔符, 然后這樣得到的 URI 再發(fā)送給服務(wù)器。數(shù)據(jù)會暴露在URI里面掠械。而POST表單數(shù)據(jù)會包含在表單體內(nèi)然后發(fā)送給服務(wù)器由缆,也就是請求的第四部分。
- target:跟a標(biāo)簽的一樣猾蒂。
<form action="users" method="post">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" value="提交">
</form>
如上面代碼所示均唉,此時如果輸入用戶名zql,密碼123肚菠。
則post請求中的第二部分的Content-Type:application/x-www-form-urlencoded
根據(jù)這個類型舔箭,會把輸入內(nèi)容顯示在第四部分。username=zql&password=123
用&符號連接蚊逢。如果輸入的是中文层扶,瀏覽器會把中文變成Unicode的UTF-8編碼,兩個字符一對烙荷,用%隔開镜会。比如輸入用戶名你好,密碼密碼终抽,第四部分會變?yōu)?code>username=%E4%BD%A0%E5%A5%BD&password=%E5%AF%86%E7%A0%81戳表。其中【你】的編碼就為 E4 BD A0。
input
是一個空標(biāo)簽
昼伴。
所有屬性:input
常見屬性:
- type:
- button:按鈕匾旭。
- checkbox: 復(fù)選框。必須使用 value 屬性定義此控件被提交時的值亩码。使用 checked 屬性指示控件是否被選擇季率。小技巧:用label標(biāo)簽把input包起來野瘦,可以關(guān)聯(lián)文字描沟。
- radio:單選框飒泻。必須使用 value 屬性定義此控件被提交時的值。使用checked 必須指示控件是否缺省被選擇吏廉。在同一個”單選按鈕組“中泞遗,所有單選按鈕的
name 屬性使用同一個值
; 一個單選按鈕組中是席覆,同一時間只有一個單選按鈕可以被選擇史辙。
在form中input的幾種特殊情況
- 如果一個form里面只有一個按鈕(<button>標(biāo)簽),它就會自動升級為提交(submit)按鈕佩伤。
- input標(biāo)簽的type必須為submit聊倔,才能夠提交,如果為button就是一個普通的按鈕生巡。
- 如果給button標(biāo)簽的type屬性也設(shè)置為button耙蔑,那么也只是一個普通的按鈕。
select
創(chuàng)建選項(xiàng)菜單
所有屬性:select
textarea
多行純文本編輯控件孤荣。
所有屬性:textarea
table
表示表格數(shù)據(jù)
所有屬性:table
需要注意的一些點(diǎn):
- table的標(biāo)簽順序是沒有關(guān)系的甸陌,瀏覽器會按照頭、身盐股、腳的順序來排列钱豁。
- 如果不寫tbody,瀏覽器會自動把內(nèi)容放在tbody中疯汁。會按照寫的順序來展示牲尺。
- 可以在style標(biāo)簽中用
border-collapse:collapse
來把表格自帶的邊框合并起來。