1. accesskey: 設(shè)置快捷鍵, 提供快速訪問元素如 a 在 windows 下的 firefox 中按 alt + shift + a 可激活元素 。
2. class:為元素設(shè)置類標(biāo)識, 多個類名用空格分開, CSS和javascript可通過 class 屬性獲取元素
3. contenteditable: 指定元素內(nèi)容是否可編輯
4. contextmenu: 自定義鼠標(biāo)右鍵彈出菜單內(nèi)容
5. data-*: 為元素增加自定義屬性
6. dir: 設(shè)置元素文本方向
7. draggable: 設(shè)置元素是否可拖拽
8. dropzone: 設(shè)置元素拖放類型: copy, move, link
9. hidden: 表示一個元素是否與文檔。樣式上會導(dǎo)致元素不顯示,但是不能用這個屬性實現(xiàn)樣式效果
10. id: 元素id,文檔內(nèi)唯一
11. lang: 元素內(nèi)容的語言
12. spellcheck: 是否啟動拼寫和語法檢查
13. style: 行內(nèi)css樣式
14. tabindex: 設(shè)置元素可以獲得焦點, 通過tab可以導(dǎo)航
15. title: 元素相關(guān)的建議信息
16. translate: 元素和子孫節(jié)點內(nèi)容是否需要本地化
之前有整理過部分知識點, 現(xiàn)在將整理的相關(guān)內(nèi)容, 驗證之后慢慢分享給大家; 這個專題是 "前端面試題" 的相關(guān)專欄; 大概會有200+的文章。
如果對大家有所幫助,可以點個關(guān)注、點個贊; 文章會持續(xù)打磨 。
有什么想要了解的前端知識, 可以在評論區(qū)留言, 會及時分享所相關(guān)內(nèi)容 。
TML 屬性
HTML 標(biāo)簽可以擁有屬性。屬性提供了有關(guān) HTML 元素的更多的信息。
屬性總是以名稱/值對的形式出現(xiàn),比如:name="value"。
屬性總是在 HTML 元素的開始標(biāo)簽中規(guī)定。
屬性實例
HTML 鏈接由 <a> 標(biāo)簽定義。鏈接的地址在 href 屬性中指定:
[demo]
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<a >
This is a link</a>
</body>
</html>
[/demo]
更多 HTML 屬性實例
屬性例子 1:
<h1> 定義標(biāo)題的開始。
<h1 align="center"> 擁有關(guān)于對齊方式的附加信息。
[demo]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h1 align="center">This is heading 1</h1>
<p>上面的標(biāo)題在頁面中進(jìn)行了居中排列。上面的標(biāo)題在頁面中進(jìn)行了居中排列。上面的標(biāo)題在頁面中進(jìn)行了居中排列。</p>
</body>
</html>
[/demo]
屬性例子 2:
<body> 定義 HTML 文檔的主體。
<body bgcolor="yellow"> 擁有關(guān)于背景顏色的附加信息。
[demo]
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html />
<meta http-equiv="Content-Language" content="zh-cn" />
</head>
<body bgcolor="yellow">
<h2>請看: 改變了顏色的背景。</h2>
</body>
</html>
[/demo]
屬性例子 3:
<table> 定義 HTML 表格。(您將在稍后的章節(jié)學(xué)習(xí)到更多有關(guān) HTML 表格的內(nèi)容)
<table border="1"> 擁有關(guān)于表格邊框的附加信息。
HTML 提示:使用小寫屬性
屬性和屬性值對大小寫不敏感。
不過,萬維網(wǎng)聯(lián)盟在其 HTML 4 推薦標(biāo)準(zhǔn)中推薦小寫的屬性/屬性值。
而新版本的 (X)HTML 要求使用小寫屬性。
始終為屬性值加引號
屬性值應(yīng)該始終被包括在引號內(nèi)。雙引號是最常用的,不過使用單引號也沒有問題。
在某些個別的情況下,比如屬性值本身就含有雙引號,那么您必須使用單引號,例如:
name='Bill "HelloWorld" Gates'
下面列出了適用于大多數(shù) HTML 元素的屬性:
屬性 值 描述
class classname 規(guī)定元素的類名(classname)
id id 規(guī)定元素的唯一 id
style style_definition 規(guī)定元素的行內(nèi)樣式(inline style)
title text 規(guī)定元素的額外信息(可在工具提示中顯示)
HTML 全局屬性
HTML 屬性賦予元素意義和語境。
下面的全局屬性可用于任何 HTML 元素。
HTML 全局屬性
屬性 描述
accesskey 規(guī)定激活元素的快捷鍵。
class 規(guī)定元素的一個或多個類名(引用樣式表中的類)。
contenteditable 規(guī)定元素內(nèi)容是否可編輯。
contextmenu 規(guī)定元素的上下文菜單。上下文菜單在用戶點擊元素時顯示。
data-* 用于存儲頁面或應(yīng)用程序的私有定制數(shù)據(jù)。
dir 規(guī)定元素中內(nèi)容的文本方向。
draggable 規(guī)定元素是否可拖動。
dropzone 規(guī)定在拖動被拖動數(shù)據(jù)時是否進(jìn)行復(fù)制、移動或鏈接。
hidden 規(guī)定元素仍未或不再相關(guān)。
id 規(guī)定元素的唯一 id。
lang 規(guī)定元素內(nèi)容的語言。
spellcheck 規(guī)定是否對元素進(jìn)行拼寫和語法檢查。
style 規(guī)定元素的行內(nèi) CSS 樣式。
tabindex 規(guī)定元素的 tab 鍵次序。
title 規(guī)定有關(guān)元素的額外信息。
translate 規(guī)定是否應(yīng)該翻譯元素內(nèi)容。
HTML 事件屬性
Window 事件屬性
針對 window 對象觸發(fā)的事件(應(yīng)用到 <body> 標(biāo)簽):
屬性 值 描述
onafterprint script 文檔打印之后運行的腳本。
onbeforeprint script 文檔打印之前運行的腳本。
onbeforeunload script 文檔卸載之前運行的腳本。
onerror script 在錯誤發(fā)生時運行的腳本。
onhaschange script 當(dāng)文檔已改變時運行的腳本。
onload script 頁面結(jié)束加載之后觸發(fā)。
onmessage script 在消息被觸發(fā)時運行的腳本。
onoffline script 當(dāng)文檔離線時運行的腳本。
ononline script 當(dāng)文檔上線時運行的腳本。
onpagehide script 當(dāng)窗口隱藏時運行的腳本。
onpageshow script 當(dāng)窗口成為可見時運行的腳本。
onpopstate script 當(dāng)窗口歷史記錄改變時運行的腳本。
onredo script 當(dāng)文檔執(zhí)行撤銷(redo)時運行的腳本。
onresize script 當(dāng)瀏覽器窗口被調(diào)整大小時觸發(fā)。
onstorage script 在 Web Storage 區(qū)域更新后運行的腳本。
onundo script 在文檔執(zhí)行 undo 時運行的腳本。
onunload script 一旦頁面已下載時觸發(fā)(或者瀏覽器窗口已被關(guān)閉)。
Form 事件
由 HTML 表單內(nèi)的動作觸發(fā)的事件(應(yīng)用到幾乎所有 HTML 元素,但最常用在 form 元素中):
屬性 值 描述
onblur script 元素失去焦點時運行的腳本。
onchange script 在元素值被改變時運行的腳本。
oncontextmenu script 當(dāng)上下文菜單被觸發(fā)時運行的腳本。
onfocus script 當(dāng)元素失去焦點時運行的腳本。
onformchange script 在表單改變時運行的腳本。
onforminput script 當(dāng)表單獲得用戶輸入時運行的腳本。
oninput script 當(dāng)元素獲得用戶輸入時運行的腳本。
oninvalid script 當(dāng)元素?zé)o效時運行的腳本。
onreset script 當(dāng)表單中的重置按鈕被點擊時觸發(fā)。HTML5 中不支持。
onselect script 在元素中文本被選中后觸發(fā)。
onsubmit script 在提交表單時觸發(fā)。
Keyboard 事件
屬性 值 描述
onkeydown script 在用戶按下按鍵時觸發(fā)。
onkeypress script 在用戶敲擊按鈕時觸發(fā)。
onkeyup script 當(dāng)用戶釋放按鍵時觸發(fā)。
Mouse 事件
由鼠標(biāo)或類似用戶動作觸發(fā)的事件:
屬性 值 描述
onclick script 元素上發(fā)生鼠標(biāo)點擊時觸發(fā)。
ondblclick script 元素上發(fā)生鼠標(biāo)雙擊時觸發(fā)。
ondrag script 元素被拖動時運行的腳本。
ondragend script 在拖動操作末端運行的腳本。
ondragenter script 當(dāng)元素元素已被拖動到有效拖放區(qū)域時運行的腳本。
ondragleave script 當(dāng)元素離開有效拖放目標(biāo)時運行的腳本。
ondragover script 當(dāng)元素在有效拖放目標(biāo)上正在被拖動時運行的腳本。
ondragstart script 在拖動操作開端運行的腳本。
ondrop script 當(dāng)被拖元素正在被拖放時運行的腳本。
onmousedown script 當(dāng)元素上按下鼠標(biāo)按鈕時觸發(fā)。
onmousemove script 當(dāng)鼠標(biāo)指針移動到元素上時觸發(fā)。
onmouseout script 當(dāng)鼠標(biāo)指針移出元素時觸發(fā)。
onmouseover script 當(dāng)鼠標(biāo)指針移動到元素上時觸發(fā)。
onmouseup script 當(dāng)在元素上釋放鼠標(biāo)按鈕時觸發(fā)。
onmousewheel script 當(dāng)鼠標(biāo)滾輪正在被滾動時運行的腳本。
onscroll script 當(dāng)元素滾動條被滾動時運行的腳本。
Media 事件
由媒介(比如視頻、圖像和音頻)觸發(fā)的事件(適用于所有 HTML 元素,但常見于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>):
屬性 值 描述
onabort script 在退出時運行的腳本。
oncanplay script 當(dāng)文件就緒可以開始播放時運行的腳本(緩沖已足夠開始時)。
oncanplaythrough script 當(dāng)媒介能夠無需因緩沖而停止即可播放至結(jié)尾時運行的腳本。
ondurationchange script 當(dāng)媒介長度改變時運行的腳本。
onemptied script 當(dāng)發(fā)生故障并且文件突然不可用時運行的腳本(比如連接意外斷開時)。
onended script 當(dāng)媒介已到達(dá)結(jié)尾時運行的腳本(可發(fā)送類似“感謝觀看”之類的消息)。
onerror script 當(dāng)在文件加載期間發(fā)生錯誤時運行的腳本。
onloadeddata script 當(dāng)媒介數(shù)據(jù)已加載時運行的腳本。
onloadedmetadata script 當(dāng)元數(shù)據(jù)(比如分辨率和時長)被加載時運行的腳本。
onloadstart script 在文件開始加載且未實際加載任何數(shù)據(jù)前運行的腳本。
onpause script 當(dāng)媒介被用戶或程序暫停時運行的腳本。
onplay script 當(dāng)媒介已就緒可以開始播放時運行的腳本。
onplaying script 當(dāng)媒介已開始播放時運行的腳本。
onprogress script 當(dāng)瀏覽器正在獲取媒介數(shù)據(jù)時運行的腳本。
onratechange script 每當(dāng)回放速率改變時運行的腳本(比如當(dāng)用戶切換到慢動作或快進(jìn)模式)。
onreadystatechange script 每當(dāng)就緒狀態(tài)改變時運行的腳本(就緒狀態(tài)監(jiān)測媒介數(shù)據(jù)的狀態(tài))。
onseeked script 當(dāng) seeking 屬性設(shè)置為 false(指示定位已結(jié)束)時運行的腳本。
onseeking script 當(dāng) seeking 屬性設(shè)置為 true(指示定位是活動的)時運行的腳本。
onstalled script 在瀏覽器不論何種原因未能取回媒介數(shù)據(jù)時運行的腳本。
onsuspend script 在媒介數(shù)據(jù)完全加載之前不論何種原因終止取回媒介數(shù)據(jù)時運行的腳本。
ontimeupdate script 當(dāng)播放位置改變時(比如當(dāng)用戶快進(jìn)到媒介中一個不同的位置時)運行的腳本。
onvolumechange script 每當(dāng)音量改變時(包括將音量設(shè)置為靜音)時運行的腳本。
onwaiting script 當(dāng)媒介已停止播放但打算繼續(xù)播放時(比如當(dāng)媒介暫停已緩沖更多數(shù)據(jù))運行腳本
部屬性和全局屬性
局部屬性:有些元素能規(guī)定自己的屬性,這種屬性稱為局部屬性。 比如 link 元素,它具有的局部屬性有 href、 rel、 hreflang、 media、 type、 sizes 這六個。 全局屬性:可以用來配置所有元素共有的行為,這種屬性稱為全局屬性,可以用在任何一個元素身上。
1、accesskey 屬性
使用 accesskey 屬性可以設(shè)定一個或幾個用來選擇頁面上的元素的快捷鍵。
<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta > <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>HTML全局屬性測試</title></head><body> <form action=""> <p> Name: <input type="text" > </p> <p> Password: <input type="password" > </p> <p> Name: <input type="submit" > </p> </form></body></html>
在上面的例子中,三個 input 元素添加了 accesskey 屬性,這樣在 Mac 下就可以用 Control+Alt(Option)+ n
快捷鍵訪問到 Name 的輸入框了。用來觸發(fā) accesskey 機制的按鍵組合因平臺而異,具體如下:
瀏覽器 / 平臺 | Window | Linux | Mac |
---|---|---|---|
Firefox | Alt + Shift + key | Alt + Shift + key | Control + Alt + key |
Internet Explorer | Alt + key | N/A | N/A |
Google Chrome | Alt + key | Alt + key | Control + Alt + key |
Safari | Alt + key | N/A | Control + Alt + key |
Opera | 同 Google Chrome | 同 Google Chrome | 同 Google Chrome |
關(guān)于 accesskey 這個全局屬性的詳解,可以看一下 HTML accesskey 屬性與 web 自定義鍵盤快捷訪問
2、class 屬性
class 屬性用來將元素歸類,這個就無需多言了。
3、contenteditable 屬性
contenteditable 是 HTML5 中新增加的屬性,,其用途是讓用戶能夠修改頁面上的內(nèi)容。
<body> <!-- contenteditable屬性應(yīng)用 --> <p contenteditable="true">設(shè)置為 true 是可編輯的</p></body>
如上例,p 元素的 contenteditable 屬性值設(shè)置為 true 時,用戶可以單擊文字編輯內(nèi)容。設(shè)置為 false 時禁止編輯。
4、dir 屬性
dir 屬性用來規(guī)定元素中文字的方向。有效值有兩個:ltr(從左到右)、rtl(從右到左)。
<!-- dir屬性應(yīng)用 --><p dir="ltr">從左到右</p><p dir="rtl">從右到左</p>
5、draggable 屬性
draggable 屬性是 HTML5 支持拖放操作的方式之一,用來表示元素是否可被拖放。
6、dropzone 屬性
dropzone 屬性是 HTML5 支持拖放操作的方式之一,與 draggable 屬性搭配使用。
7、id 屬性
id 屬性用來給元素分配一個唯一的標(biāo)識符。這個也無需多言。需要說明的一點是,id 屬性還可以用來導(dǎo)航到文檔中的特定位置。
8、hidden 屬性
hidden 是個布爾屬性,表示相關(guān)元素當(dāng)前不需要關(guān)注,瀏覽器對它的處理方式是隱藏相關(guān)元素(隱隱想起來控制一個元素的展示隱藏的時候,會自定義一個 hidden 類,然后在里面寫隱藏樣式),具體也可以看一下這篇介紹 HTML5 的 hidden 屬性
<!-- hidden屬性應(yīng)用 --> <div hidden>這個元素將會被隱藏</div>
9、lang 屬性
lang 屬性用于說明元素內(nèi)容使用的語言。lang 屬性必須使用有效的 ISO 語音代碼,使用這個屬性的目的在于,讓瀏覽器調(diào)整其表達(dá)元素內(nèi)容的方式,比如在使用了文字朗讀器的情況下正確發(fā)音。
<!-- lang屬性應(yīng)用 --> <p lang="en">Hello - how are you?</p>
10、spellcheck 屬性
spellcheck 屬性用來表明瀏覽器是否應(yīng)該對元素的內(nèi)容進(jìn)行拼寫檢查,這個屬性只有用在用戶可以編輯的元素上時才有意義。 spellcheck 屬性可以接受的值有兩個:true 和 false。至于拼寫檢查的實現(xiàn)方式則因瀏覽器而異。
<!-- spellcheck屬性應(yīng)用 --> <textarea >This is some lalalala text</textarea>
11、style 屬性
style 屬性用來直接在元素身上定義 CSS 樣式,這個也不做過多描述了。
12、tabindex 屬性
HTML 頁面的鍵盤焦點可以通過按 Tab 鍵在各元素之間切換。用 tabindex 屬性可以改變默認(rèn)的轉(zhuǎn)移順序。
<!-- tabindex屬性應(yīng)用 --> <form action=""> <label>Name: <input type="text" ></label> <label>City: <input type="text" ></label> <label>Country: <input type="text" ></label> <input type="submit" value="" tabindex="3"> </form>
上面的代碼實現(xiàn)效果是:在按 Tab 鍵的過程中,tabindex 為 1 的 Country 輸入框第一個被選中,接著焦點會跳到 Name 輸入框,最后是 submit 提交。tabindex 設(shè)置為 - 1 的元素不會在用戶按下 Tab 鍵后被選中。
13、title 屬性
title 屬性提供了元素的額外信息,瀏覽器通常用這些東西顯示工具條提示,這個在一些展示不全的文本標(biāo)題也經(jīng)常使用。
<!-- title屬性應(yīng)用 --><a title="我的個人網(wǎng)站">qiqihaobenben.github.io</a>
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。