HTML是什么?
HTML 是用來(lái)描述網(wǎng)頁(yè)的一種語(yǔ)言,是最早寫(xiě)網(wǎng)頁(yè)的語(yǔ)言,但是由于時(shí)間早,規(guī)范不是很好,大小寫(xiě)混寫(xiě)且編碼不規(guī)范;
1.HTML 指的是超文本標(biāo)記語(yǔ)言 (Hyper Text Markup Language)
2.HTML 不是一種編程語(yǔ)言,而是一種標(biāo)記語(yǔ)言 (markup language)
3.標(biāo)記語(yǔ)言是一套標(biāo)記標(biāo)簽 (markup tag)
4.HTML 使用標(biāo)記標(biāo)簽來(lái)描述網(wǎng)頁(yè)
HTML 文檔 = 網(wǎng)頁(yè)
1.HTML 文檔描述網(wǎng)頁(yè)
2.HTML 文檔包含 HTML 標(biāo)簽和純文本
3.HTML 文檔也被稱為網(wǎng)頁(yè)
XHTML 是什么?
XHTML 指可擴(kuò)展超文本標(biāo)簽語(yǔ)言(EXtensible HyperText Markup Language),即是升級(jí)版的html,對(duì)html進(jìn)行了規(guī)范,編碼更加嚴(yán)謹(jǐn)純潔,也是一種過(guò)渡語(yǔ)言,html向xml過(guò)渡的語(yǔ)言
XHTML 的目標(biāo)是取代 HTML。
1.XHTML 與 HTML 4.01 幾乎是相同的。
2.XHTML 是更嚴(yán)格更純凈的 HTML 版本。
3.XHTML 是作為一種 XML 應(yīng)用被重新定義的 HTML。
4.XHTML 是一個(gè) W3C 標(biāo)準(zhǔn)。
XML是什么?
可擴(kuò)展標(biāo)記語(yǔ)言,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集,是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言。XML是一種類似于HTML的標(biāo)記語(yǔ)言,XML是用來(lái)描述數(shù)據(jù)的,XML的標(biāo)記不是在XML中預(yù)定義的,你必須定義自己的標(biāo)記,XML使用文檔類型定義(DTD)或者模式(Schema)來(lái)描述數(shù)據(jù),XML使用DTD或者Schema后就是自描述的語(yǔ)言,XML(eXtensibleMarkupLanguage)是可擴(kuò)展標(biāo)記語(yǔ)言,它與HTML一樣,都是處于SGML,標(biāo)準(zhǔn)通用語(yǔ)。是一種跨平臺(tái)語(yǔ)言,編碼更自由,可以自由創(chuàng)建標(biāo)簽。
網(wǎng)頁(yè)編碼從html>>xhtml>>xml這個(gè)過(guò)程發(fā)展。
html與xhtml之間的區(qū)別:
1、xhtml對(duì)比與html,xhtml文檔具有良好完整的排版,體現(xiàn)在兩方面:a、元素必須要有結(jié)束標(biāo)簽;b、元素必須嵌套;
2、對(duì)于html的元素和屬性,xhtml必須小寫(xiě),因?yàn)閤ml是嚴(yán)格區(qū)分大小寫(xiě)的,<li>和<LI>是不同的標(biāo)簽;
3、xhtml的屬性值必須在引號(hào)之中;
4、在xhtml中,name屬性是不贊成使用的,在以后的版本中將被刪除。
再說(shuō)說(shuō)為什么網(wǎng)頁(yè)編碼要從html>>xhtml>>xml這么發(fā)展?話說(shuō)早起的網(wǎng)頁(yè)使用html語(yǔ)言編寫(xiě)的,但是它擁有三個(gè)嚴(yán)重的缺點(diǎn):
1、編碼不規(guī)范,結(jié)構(gòu)混亂臃腫,需要智能的終端才能很好的顯示;
2、表現(xiàn)和結(jié)構(gòu)混亂,不利于開(kāi)發(fā)和維護(hù);
3、不能使用更多的網(wǎng)絡(luò)設(shè)備,比如手機(jī)、PDA等;
因此HTML需要發(fā)展才能解決這個(gè)問(wèn)題,于是W3C又制定了XHTML,XHTML是HTML向XML 過(guò)度的一個(gè)橋梁。而xml是web發(fā)展的趨勢(shì)。
怎么理解語(yǔ)義化HTML
語(yǔ)義化HTML是一種編寫(xiě)HTML的方式
選擇合適的標(biāo)簽、使用合理的代碼結(jié)構(gòu),便于開(kāi)發(fā)者閱讀,同時(shí)瀏覽器的爬蟲(chóng)和機(jī)器很好地解析。
語(yǔ)義化的主要目的在于,直觀的認(rèn)識(shí)標(biāo)簽(markup)和屬性(attribute)的用途和作用。
可以概括為:用正確的標(biāo)簽做正確的事情。
html語(yǔ)義化可以讓頁(yè)面的內(nèi)容結(jié)構(gòu)化,便于瀏覽器解析,便于搜索引擎解析,并提高代碼的可維護(hù)
度和可重用性。
比如,盡可能少的使用無(wú)語(yǔ)義的標(biāo)簽div,使用結(jié)構(gòu)化標(biāo)簽<header>、<section>、<footer>。
怎樣理解內(nèi)容與樣式分離的原則?
寫(xiě) HTML 的時(shí)候先不管樣式, 重點(diǎn)放在HTML的結(jié)構(gòu)和語(yǔ)義化上,讓HTML 能體現(xiàn)頁(yè)面結(jié)構(gòu)或者內(nèi)容。之后再去寫(xiě)樣式?! ?寫(xiě) JS 的時(shí)候,盡量不要用 JS 去直接操作樣式,而是通過(guò)給元素添加刪除class來(lái)控制樣式變化。
文檔結(jié)構(gòu)與文檔樣式的分離可以確保網(wǎng)頁(yè)的平穩(wěn)退化,也讓內(nèi)容和樣式在可以分開(kāi)獨(dú)立編輯。