HTML、XML戈二、XHTML區(qū)別:
1. 編碼要求嚴(yán)格程度不同:
- xml的解析語法非呈婵悖苛刻,只要網(wǎng)頁出現(xiàn)一處錯誤觉吭,則瀏覽器停止解析腾供。
- xhtml具有良好完整的排版:1.元素必須要有結(jié)束標(biāo)簽。2.元素必須要有嵌套
- 對于html的元素和屬性鲜滩,xhtml必須小寫伴鳖,因為xhtml嚴(yán)格區(qū)分大小寫,xhtml的屬性值必須在引號之中徙硅;xhtml不支持屬性最小化榜聂,且不贊成name的使用。
2. HTML的三個缺點:
- 編碼不規(guī)范嗓蘑,結(jié)構(gòu)混亂臃腫
- 結(jié)構(gòu)混亂不利于開發(fā)和維護
- 不支持多設(shè)備
因此html需要發(fā)展才能解決這個問題须肆,于是w3c又制定了xhtml,xhtml是html向xml過度的一個橋梁桩皿。而xml是web發(fā)展的趨勢豌汇。
但xml的嚴(yán)苛程度過高,違背了網(wǎng)頁設(shè)計的一個基本原理泄隔,即“發(fā)送時要保守拒贱,接收時要開放∶酚龋”柜思,所以原本w3c的計劃xhtml1.0的下一個版本來應(yīng)該是xhtml 2.0,卻最終被html5取代巷燥。
HTML語義化:
何謂語義化
語義化就是根據(jù)內(nèi)容選擇合適的標(biāo)簽赡盘,根據(jù)內(nèi)容選擇合理的代碼結(jié)構(gòu),便于開發(fā)者閱讀缰揪,便于瀏覽器及機器的解析陨享。
內(nèi)容與樣式分離原則
- 寫HTML時候先不管樣式,重點放在HTMl結(jié)構(gòu)及語義化上钝腺,讓HTMl能體現(xiàn)頁面結(jié)構(gòu)及內(nèi)容抛姑,之后再去寫樣式。
- 寫JS的時候艳狐,盡量不用JS直接操作樣式定硝,而是給元素添加刪除
class
來控制樣式變化。 - HTML內(nèi)不允許出現(xiàn)屬性樣式毫目,盡量不出現(xiàn)行內(nèi)樣式蔬啡。
優(yōu)點:
- 頁面加載迅速诲侮,大部分代碼寫入CSS,HTML體積小箱蟆。
- 維護修改時沟绪,效率省時。根據(jù)html標(biāo)簽內(nèi)ID或class的標(biāo)記空猜,到CSS里找到相應(yīng)的ID或class绽慈,可以快速替換指定位置的樣式,不會破壞頁面架構(gòu)和其他部分的樣式辈毯。
- 更好被搜索引擎收錄坝疼,HTML語義化便于機器抓錄
- CSS樣式分離,可以根據(jù)不同的設(shè)備不同瀏覽器達到顯示統(tǒng)一漓摩。
我們剛開始意識到裙士,我們必須回歸內(nèi)容本身入客,將內(nèi)容本身的語義合理地表述出來管毙,再為不同的用戶代理設(shè)計不同的樣式描述,也就是我們說的內(nèi)容與樣式分離桌硫。這樣我們在提供內(nèi)容的時候夭咬,首先要做的就是將內(nèi)容本身進行合理的描述,暫時不用考慮它的最終呈現(xiàn)會是什么樣子铆隘。HTML 規(guī)范其實一直在往語義化的方向上努力卓舵,許多元素、屬性在設(shè)計的時候膀钠,就已經(jīng)考慮了如何讓各種用戶代理甚至網(wǎng)絡(luò)爬蟲更好地理解 HTML 文檔掏湾。HTML5 更是在之前規(guī)范的基礎(chǔ)上,將所有表現(xiàn)層(presentational)的語義描述都進行了修改或者刪除肿嘲,增加了不少可以表達更豐富語義的元素融击。為什么這樣的語義元素是有意義的?因為它們被廣泛認可雳窟。所謂語義本身就是對符號的一種共識尊浪,被認可的程度越高、范圍越廣封救,人們就越可以依賴它實現(xiàn)各種各樣的功能拇涤。