- HTML5+CSS3從入門到精通(微課精編版)
- 前端科技
- 1087字
- 2021-02-03 09:30:35
1.3 HTML5語法特性
HTML5以HTML4為基礎(chǔ),對HTML4進(jìn)行了全面升級改造。與HTML4相比,HTML5在語法上有很大的變化,具體比較如下:
1.3.1 文檔和標(biāo)記

視頻講解
1.內(nèi)容類型
HTML5的文件擴(kuò)展名和內(nèi)容類型保持不變。例如,擴(kuò)展名仍然為“.html”或“.htm”,內(nèi)容類型(ContentType)仍然為“text/html”。
2.文檔類型
在HTML4中,文檔類型的聲明方法如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd">
在HTML5中,文檔類型的聲明方法如下:
<!DOCTYPE html>
當(dāng)使用工具時,也可以在DOCTYPE聲明中加入SYSTEM識別符,聲明方法如下:
<!DOCTYPE HTML SYSTEM "about:legacy-compat">
在HTML5中,DOCTYPE聲明方式是不區(qū)分大小寫的,引號也不區(qū)分是單引號還是雙引號。
注意:使用HTML5的DOCTYPE會觸發(fā)瀏覽器以標(biāo)準(zhǔn)模式顯示頁面。眾所周知,網(wǎng)頁都有多種顯示模式,如怪異模式(Quirks)、標(biāo)準(zhǔn)模式(Standards)。瀏覽器根據(jù)DOCTYPE來識別該使用哪種解析模式。
3.字符編碼
在HTML4中,使用meta元素定義文檔的字符編碼,如下所示:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
在HTML5中,繼續(xù)沿用meta元素定義文檔的字符編碼,但是簡化了charset屬性的寫法,如下所示:
<meta charset="UTF-8">
對于HTML5來說,上述兩種方法都有效,用戶可以繼續(xù)使用前面一種方式,即通過content元素的屬性來指定。但是不能同時混用兩種方式。
注意:在傳統(tǒng)網(wǎng)站中,可能會存在下面的標(biāo)記。在HTML5中,這種字符編碼方式將被認(rèn)為是錯誤的。
<meta charset="UTF-8" http-equiv="Content-Type" content="text/html;charset=UTF-8">
從HTML5開始,對于文件的字符編碼推薦使用UTF-8。
1.3.2 寬松的約定

視頻講解
HTML5語法是為了保證與之前的HTML4語法達(dá)到最大限度的兼容而設(shè)計(jì)的。
1.標(biāo)記省略
在HTML5中,元素的標(biāo)記可以分為三種類型:不允許寫結(jié)束標(biāo)記,可以省略結(jié)束標(biāo)記,開始標(biāo)記和結(jié)束標(biāo)記全部可以省略。下面簡單介紹這三種類型各包括哪些HTML5新元素。
第一,不允許寫結(jié)束標(biāo)記的元素有:area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr。
第二,可以省略結(jié)束標(biāo)記的元素有:li、dt、dd、p、rt、rp、optgroup、option、colgroup、thead、tbody、tfoot、tr、td、th。
第三,可以省略全部標(biāo)記的元素有:html、head、body、colgroup、tbody。
提示:不允許寫結(jié)束標(biāo)記的元素是指,不允許使用開始標(biāo)記與結(jié)束標(biāo)記將元素括起來的形式,只允許使用<元素/>的形式進(jìn)行書寫。例如:
錯誤的書寫方式
<br></br>
正確的書寫方式
<br/>
HTML5之前的版本中<br>這種寫法可以繼續(xù)沿用。
可以省略全部標(biāo)記的元素是指元素可以完全被省略。注意,該元素還是以隱式的方式存在的。例如,將body元素省略時,它在文檔結(jié)構(gòu)中還是存在的,可以使用document.body進(jìn)行訪問。
2.布爾值
對于布爾型屬性,如disabled與readonly等,當(dāng)只寫屬性而不指定屬性值時,表示屬性值為true;如果屬性值為false,可以不使用該屬性。另外,要想將屬性值設(shè)定為true,也可以將屬性名設(shè)定為屬性值,或?qū)⒖兆址O(shè)定為屬性值。
【示例1】下面是幾種正確的書寫方法:

3.屬性值
屬性值可以加雙引號,也可以加單引號。HTML5在此基礎(chǔ)上做了一些改進(jìn),當(dāng)屬性值不包括空字符串、<、>、=、單引號、雙引號等字符時,屬性值兩邊的引號可以省略。
【示例2】下面寫法都是合法的:
<input type="text"> <input type='text'> <input type=text>
- MySQL 8從入門到精通(視頻教學(xué)版)
- Android Studio Essentials
- 趣學(xué)Python算法100例
- Elastic Stack應(yīng)用寶典
- Kinect for Windows SDK Programming Guide
- Python算法指南:程序員經(jīng)典算法分析與實(shí)現(xiàn)
- Protocol-Oriented Programming with Swift
- “笨辦法”學(xué)C語言
- HTML+CSS+JavaScript網(wǎng)頁設(shè)計(jì)從入門到精通 (清華社"視頻大講堂"大系·網(wǎng)絡(luò)開發(fā)視頻大講堂)
- Learning Splunk Web Framework
- Learning Nessus for Penetration Testing
- 從零開始構(gòu)建深度前饋神經(jīng)網(wǎng)絡(luò):Python+TensorFlow 2.x
- Go Systems Programming
- 你好!Java
- 透視C#核心技術(shù):系統(tǒng)架構(gòu)及移動端開發(fā)