HTML基本語法
不管是編程語言還是標記語言,都要遵循一定的語法,那麼,這篇文章對語法進行總結,本文的絕大部分內容都可以在下面這段代碼中找到:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!-- body -->
<div id="app" class="page" >
< <input type="button" style="color:red" disabled> >
</div>
<img title=" a picture">
<script></script>
</body>
</html>
標籤
HTML 中的標籤是一系列被尖括號包裹的關鍵字,在文檔中隨處可見( 看上面的代碼片 ),一對標籤構成一個元素。
要注意幾點:
- 標籤要被一對尖括號包裹
- 大部分標籤要進行閉合,比如
<div> </div>
- 少部分單標籤如
<input type="button" disabled>
是自閉合的 - 按照 W3C 標準,標籤應當小寫,(自定義的組件標籤也常常寫作用連接符號連接的純小寫形式,比如
SideNav
寫作side-nav
屬性
很多元素都具有屬性
<div id="app" class="page">
< <input type="button" disabled> >
</div>
屬性規定了元素的一些性質,也可以成爲元素的標示,下面是幾個注意點:
- 屬性一般是 名稱=“值” 的形式
- 部分屬性可以簡寫,標示取 bool 真值(上面的
disabled
) - 根據書寫規範,屬性名一律小寫,屬性值用雙引號包裹
一些全局屬性
有的屬性是隻有特定元素纔有的,同時也有很多屬性是對所有元素都生效的,比如:
id 和 class
<div id="app" class="page">
id 與 class 的主要作用是標記區分元素,這樣 CSS 和 JS 就可以作用於這些元素。
他們的主要不同點在於在整個頁面中,id 是唯一的,只能標記一個唯一的元素;class 是不唯一的,用來標記一類功能相似或者樣式相似的元素。
style
一般情況下我們會通過外部的 CSS 文件或者 head 中的 style 標籤中的 CSS 來規定頁面中元素的樣式,但是我們也會直接在標籤的style屬性中定義行內樣式,一般用來覆蓋其他樣式(優先級最高)。
<!-- 通過行內樣式,設置文字顏色是 red -->
<input type="button" style="color:red" disabled>
title
title 是元素的附加信息
<img title=" a picture">
當用戶把鼠標懸停在元素上的時候,附加信息會顯示出來
data-*
這個屬性並不常用,但是在開發中會有特別的效果,我們要將 *
更換爲具有一定語意的字符串。
<ul>
<li data-index="0"></li>
<li data-index="1"></li>
<li data-index="2"></li>
</ul>
這個屬性的作用是存儲一些定製的數據,比如在上面的例子中,我們可以獲得 li 是 ul 的第幾個子元素(從0開始)
要獲得這個值,我們可以通過 js 中的 getAttribute
方法或者 dataset
屬性得到。
不常用的全局屬性
除了上面這些,還有一些不常用的,簡單列舉如下
accesskey contenteditable dir draggable hidden lang spellcheck tabindex translate
註釋與條件註釋
html的註釋是下面的格式
<!-- This is a comment -->
註釋掉的內容不會顯示,不會被渲染,但是也有例外,比如 條件註釋
條件註釋
條件註釋主要針對於低版本IE瀏覽器,可以視情況進行瀏覽器兼容,比如曾經常用的使 ie低版本兼容 html5標籤的一段代碼:
<!--[if lte IE9]>
<script src="http://cdn.bootcss.com/html5shiv/r29/html5.min.js"type="text/javascript" charset="utf-8"></script>
<script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"type="text/javascript" charset="utf-8"></script>
<![endif]-->
將這段代碼加入 head 中,就可以在ie低版本中引入src中的js代碼,進行兼容。
(拒絕IE低版本
實體字符
由於 html 語法的限制,如果我們在文本中想要書寫尖括號或者大於/小於號,可能會被識別爲標籤,因此我們要用實體字符(類似轉義字符)進行替換。還有一些難以輸入的特殊符號也有對應的實體,列舉如下:
顯示結果 | 描述 | 實體名稱 | 實體編號 |
---|---|---|---|
|
空格 | |
  |
< | 小於號 | < |
< |
> | 大於號 | > |
> |
& | 和號 | & |
& |
" | 引號 | " |
" |
’ | 撇號 | ' |
' |
¢ | 分 | ¢ |
¢ |
£ | 鎊 | £ |
£ |
¥ | 日圓 | ¥ |
¥ |
€ | 歐元 | € |
€ |
§ | 小節 | § |
§ |
© | 版權 | © |
© |
® | 註冊商標 | ® |
® |
™ | 商標 | ™ |
™ |
× | 乘號 | × |
× |
÷ | 除號 | ÷ |
÷ |