HTML和XHTML挖垛、HTML5區(qū)別
在HTML的早期發(fā)展中次伶,大部分標(biāo)準(zhǔn)都是所謂的retro-spec茅撞,即先有實現(xiàn)后有標(biāo)準(zhǔn)帆卓。在這種情況下,HTML標(biāo)準(zhǔn)不是很規(guī)范乡翅,瀏覽器也對HTML頁面中的錯誤相當(dāng)寬容鳞疲。這反過來又導(dǎo)致了HTML開發(fā)者寫出了大量含有錯誤的HTML頁面
html語言本身有一些缺陷(例如: 內(nèi)容和形式不能分離;標(biāo)簽單一蠕蚜;數(shù)據(jù)不能復(fù)用等等)尚洽,隨著xml的興起人們希望xml來彌補html的不足,但是目前有成千上萬的網(wǎng)頁都是用html編寫的靶累,所以完全使用xml來替代html還為時過早腺毫,于是W3C在2000年推出了xhtml1.0, 建立xhtml的目的就是實現(xiàn)從html向xml的過度
為了規(guī)范HTML挣柬,W3C結(jié)合XML制定了XHTML 1.0標(biāo)準(zhǔn)潮酒,這個標(biāo)準(zhǔn)沒有增加任何新的標(biāo)簽,只是按照XML的要求來規(guī)范HTML邪蛔,并定義了一個新的MIME type application/xhtml+xml急黎。W3C的初衷是要求瀏覽器對這個MIME type實行強錯誤檢查,如果頁面有HTML錯誤侧到,就要顯示錯誤信息勃教。但是由于已有的web頁面中已經(jīng)有了大量的錯誤,很多開發(fā)者拒絕使用新的MIME type匠抗。W3C不得已故源,在XHTML 1.0的標(biāo)準(zhǔn)之后增加了一個附錄C,允許開發(fā)者使用XHTML語法來寫頁面汞贸,同時使用舊的MIME type绳军,application/html,來分發(fā)頁面
W3C隨后在XHTML 1.1中取消了附錄C矢腻,即使用XHTML 1.1標(biāo)準(zhǔn)的頁面必須用新的MIME type來分發(fā)门驾。于是這個標(biāo)準(zhǔn)并沒有很多人采用
有了XHTML的教訓(xùn),W3C在制定下一代HTML標(biāo)準(zhǔn)時(HTML5)多柑,就將向后兼容作為了一個很重要的原則猎唁。HTML5確實引入了許多新的特性,但是它最重要的一個特性是,不會break已有的網(wǎng)頁诫隅。你可以將任何已有的網(wǎng)頁的第一行改成<!DOCTYPE html>腐魂,它就成也一個HTML5頁面,并且可以照樣在瀏覽器里正常的展示逐纬。
簡而言之
HTML語法非常寬松容錯性強;
XHTML更為嚴(yán)格,它要求標(biāo)簽必須小寫蛔屹、必須嚴(yán)格閉合、標(biāo)簽中的屬性必須使用引號引起等等;
HTML5是HTML的下一個版本所以除了非常寬松容錯性強以外,還增加許多新的特性
怎樣理解 HTML 語義化
含義:根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化)豁生,選擇合適的標(biāo)簽(代碼語義化)便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時讓瀏覽器的爬蟲和機器很好地解析兔毒。
優(yōu)點:
為了在沒有CSS的情況下,頁面也能呈現(xiàn)出很好地內(nèi)容結(jié)構(gòu)甸箱、代碼結(jié)構(gòu)育叁;
用戶體驗:例如title、alt用于解釋名詞或解釋圖片信息芍殖、label標(biāo)簽的活用豪嗽;
有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標(biāo)簽來確定上下文和各個關(guān)鍵字的權(quán)重豌骏;
方便其他設(shè)備解析(如屏幕閱讀器龟梦、盲人閱讀器、移動設(shè)備)以意義的方式來渲染網(wǎng)頁窃躲;
便于團隊開發(fā)和維護计贰,語義化更具可讀性,是下一步吧網(wǎng)頁的重要動向蒂窒,遵循W3C標(biāo)準(zhǔn)的團隊都遵循這個標(biāo)準(zhǔn)躁倒,可以減少差異化。
怎樣理解內(nèi)容與樣式分離的原則
含義:對于內(nèi)容洒琢、結(jié)構(gòu)與表現(xiàn)相分離樱溉,最早是在軟件開發(fā)架構(gòu)理論中提出來的,XHTML的標(biāo)簽只用來定義文檔的結(jié)構(gòu),所有涉及表現(xiàn)的東西通通剝離出來纬凤,把它放到一個單獨的文件里,這個單獨的文件就是CSS撩嚼。
優(yōu)點:
數(shù)據(jù)的多樣顯示停士。通過不同的樣式表適應(yīng)不同的設(shè)備,做到內(nèi)容與設(shè)備無關(guān)
保持整個站點的視覺一致性變得非常簡單完丽,修改樣式表就可以輕松改版;
由于結(jié)構(gòu)清晰恋技,數(shù)據(jù)的集成、更新和處理更加方便靈活逻族;
更有意義的搜索蜻底。
有哪些常見的meta標(biāo)簽
常見的meta標(biāo)簽
標(biāo)簽 | 含義 |
---|---|
<mata charset="utf-8"> | 聲明文檔使用的字符編碼 |
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/> | 聲明文檔兼容模式,指示IE以目前可用的最高模式顯示內(nèi)容 |
<meta name="keywords" content="your tags"> | 定義針對搜索引擎的關(guān)鍵詞 |
<meta name="description" content="不超過850個字符"> | 頁面描述聘鳞,告訴搜索引擎你的站點的主要內(nèi)容 |
<<meta name="author" content="你的姓名"> | 定義網(wǎng)頁作者 |
<meta name="revised" content="David, 2008/8/8/" /> | 定義頁面的最新版本 |
<meta http-equiv="refresh" content="5"/> | 5秒刷新一次頁面 |
<meta http-equiv="expires" content="Mon,12 May 2001 00:20:00 GMT"> | 用于設(shè)定網(wǎng)頁的到期時間薄辅,一旦過期則必須到服務(wù)器上重新調(diào)用要拂。需要注意的是必須使用GMT時間格式 |
<meta http-equiv="pragma" content="no-cache"> | 禁用緩存 |
<meta http-equiv="set-cookie" content="Mon, 12 May 2001 00:20:00 GMT"> | cookie設(shè)定,如果網(wǎng)頁過期站楚,存盤的cookie將被刪除脱惰。需要注意的也必須使用GMT時間格式。 |
<meta name="robots" content="index,follow" /> | 搜索引擎索引方式 |
文檔聲明的作用?嚴(yán)格模式和混雜模式指什么?<!doctype html> 的作用?
聲明叫做文件類型定義(DTD)窿春,聲明的作用為了告訴瀏覽器該文件的類型拉一。讓瀏覽器解析器知道應(yīng)該用哪個規(guī)范來解析文檔。聲明必須在 HTML 文檔的第一行旧乞,這并不是一個 HTML 標(biāo)簽蔚润。
嚴(yán)格模式:又稱標(biāo)準(zhǔn)模式,是指瀏覽器按照 W3C 標(biāo)準(zhǔn)解析代碼尺栖。
混雜模式:又稱怪異模式或兼容模式嫡纠,是指瀏覽器用自己的方式解析代碼。
<!doctype html>的作用就是讓瀏覽器進入標(biāo)準(zhǔn)模式决瞳,使用最新的 HTML5標(biāo)準(zhǔn)來解析渲染頁面货徙;如果不寫,瀏覽器就會進入混雜模式皮胡,而這是我們要避免的
瀏覽器亂碼的原因:
頁面編碼方式與瀏覽器解碼方式不匹配
如何解決瀏覽器亂碼:
在meta標(biāo)簽中指定charset為頁面編碼的方式痴颊,這樣瀏覽器就能自動讀取,從而采用正確的解碼方式
常見的瀏覽器有哪些屡贺,什么內(nèi)核
- IE內(nèi)核 Trident
- 谷歌內(nèi)核 WebKit / Blink
- 火狐內(nèi)核 Gecko
- Safarri內(nèi)核 WebKit
- 歐朋內(nèi)核 Presto
常見的標(biāo)簽:
- h1-h6 標(biāo)題標(biāo)簽
- p 段落標(biāo)簽
- a 鏈接標(biāo)簽
- href="#about" 跳轉(zhuǎn)到id為about的位置
- href="/test" 跳轉(zhuǎn)到完整域名+test
- img 圖片鏈接
alt 圖片無法展示時蠢棱,顯示內(nèi)容,便于視力障礙人士使用 - div 塊標(biāo)簽
- ul 無序列表
li ul的子標(biāo)簽甩栈,ul下的直接元素必須是li - ol 有序列表
li ol的子元素 - dl 展示有標(biāo)題和內(nèi)容的自定義表格
dt 標(biāo)題子標(biāo)簽 - button 按鈕標(biāo)簽
- strong 強調(diào)元素
- em 中層強調(diào)元素
- span 標(biāo)記一段行內(nèi)元素
- iframe 在當(dāng)前頁面嵌入一個頁面
- table 用于展示表格泻仙,不要用來做布局
thead、tbody量没、tfoot 一般不用寫
tr 代表表格的一行
th 代表表格第一行的列內(nèi)容
td 代表表格的一列 - select 定義選擇列表
option 定義選擇列表中的選項 - input標(biāo)簽 type屬性不同input標(biāo)簽的功能和外觀不同
- video 播放視頻