Web標(biāo)準(zhǔn)不是某一個(gè)標(biāo)準(zhǔn),而是一系列標(biāo)準(zhǔn)的集合。網(wǎng)頁(yè)主要由三個(gè)部分組成:結(jié)構(gòu)、表現(xiàn)和行為。
- 結(jié)構(gòu)標(biāo)準(zhǔn)語(yǔ)言主要包括HTML、XHTML和XML。
- 表現(xiàn)標(biāo)準(zhǔn)語(yǔ)言主要包括CSS。
- 行為標(biāo)準(zhǔn)主要包括DOM(文檔對(duì)象模型)、ECMAscript。
DOM是一種與瀏覽器,平臺(tái),語(yǔ)言的接口,使得你可以訪問(wèn)頁(yè)面其他的標(biāo)準(zhǔn)組件。簡(jiǎn)單理解,DOM解決了Netscaped的Javascript和Microsoft的Jscript之間的沖突,給予web設(shè)計(jì)師和開(kāi)發(fā)者一個(gè)標(biāo)準(zhǔn)的方法,讓他們來(lái)訪問(wèn)他們站點(diǎn)中的數(shù)據(jù)、腳本和表現(xiàn)層對(duì)象。
1.HTML、XML、XHTML 有什么區(qū)別
(1).超文本標(biāo)記語(yǔ)言 HTML(HyperText Markup Language)
- 它是一種用于創(chuàng)建網(wǎng)頁(yè)的標(biāo)準(zhǔn)標(biāo)記語(yǔ)言,而不是一種編程語(yǔ)言。標(biāo)記語(yǔ)言經(jīng)過(guò)瀏覽器的解釋和編譯,雖然它本身不能顯示在瀏覽器中,但在瀏覽器中可以正確顯示HTML標(biāo)記的內(nèi)容。也就是說(shuō)網(wǎng)頁(yè)瀏覽器可以讀取HTML文件,并將其渲染成可視化網(wǎng)頁(yè)。
- 它的語(yǔ)法松散,不規(guī)范,大小寫(xiě)混亂,不利于開(kāi)發(fā)和維護(hù)。且不能使用更多的網(wǎng)絡(luò)設(shè)備,比如手機(jī)。
(2).可擴(kuò)展標(biāo)記語(yǔ)言XML(The Extensible Markup Language)
- XML是一種能定義其他語(yǔ)言的語(yǔ)言,它是一種跨平臺(tái)語(yǔ)言,最初設(shè)計(jì)的目的是彌補(bǔ)HTML的不足,以強(qiáng)大的擴(kuò)展性滿足網(wǎng)絡(luò)信息發(fā)布的需要,主要用于存儲(chǔ)數(shù)據(jù)和結(jié)構(gòu)參考。
- 它嚴(yán)格區(qū)分大小寫(xiě)。
(3).可擴(kuò)展超文本標(biāo)記語(yǔ)言XHTML(The Extensible HyperText Markup Language)
- 作用與HTML類(lèi)似,但語(yǔ)法更為嚴(yán)謹(jǐn)純潔。對(duì)于HTML的元素和屬性,XHTML必須小寫(xiě)。XML雖然數(shù)據(jù)轉(zhuǎn)換能力強(qiáng)大,完全可以代替HTML,但面對(duì)成千上萬(wàn)已有的站點(diǎn),直接采用XML還為時(shí)過(guò)早,因此在HTML4.0的基礎(chǔ)上,用XML的規(guī)則對(duì)其進(jìn)行擴(kuò)展,得到了XTHML。建立XHTML的目的就是實(shí)現(xiàn)HTML向XML的過(guò)渡。
- xhtml文檔具有良好完整的排版,體現(xiàn)在兩方面:a、元素必須要有結(jié)束標(biāo)簽;b、元素必須嵌套;
2.怎樣理解 HTML 語(yǔ)義化
- 語(yǔ)義化HTML是一種編寫(xiě)HTML的方式。根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語(yǔ)義化),選擇合適的標(biāo)簽(代碼語(yǔ)義化)便于開(kāi)發(fā)者閱讀和寫(xiě)出更優(yōu)雅的代碼的同時(shí)讓瀏覽器的爬蟲(chóng)和機(jī)器很好地解析(有利于SEO,和搜索引擎建立良好溝通,PS:爬蟲(chóng)依賴于標(biāo)簽來(lái)卻傾上下文和各個(gè)關(guān)鍵字的權(quán)重)。
- 語(yǔ)義化的目的是為了沒(méi)有CSS的情況下,頁(yè)面也能呈現(xiàn)出很好的內(nèi)容結(jié)構(gòu)、代碼結(jié)構(gòu)。
3.怎樣理解內(nèi)容與樣式分離的原則
- HTML語(yǔ)言僅僅定義了網(wǎng)頁(yè)結(jié)構(gòu),對(duì)于文本樣式而沒(méi)有過(guò)多的涉及,(不允許出現(xiàn)屬性樣式?。┻@就需要一種技術(shù)對(duì)頁(yè)面布局、字體、顏色、背景和其他圖文效果的實(shí)現(xiàn)提供更加精確的控制,這種技術(shù)就是CSS。
- 寫(xiě)JS的時(shí)候,盡量不要用JS去直接操作樣式,而是通過(guò)給元素添加刪除class來(lái)控制樣式變化。
- 如果把樣式單獨(dú)抽離出來(lái),代碼會(huì)得到精簡(jiǎn)和重用,清晰易讀且便于維護(hù)。只要寫(xiě)一個(gè)class的樣式,就可以同時(shí)更改多個(gè)有相同class的元素的樣式;只要用一個(gè)CSS文件,就可以同時(shí)鏈接到多個(gè)HTML頁(yè)面上啦~