HTML頁面結(jié)構(gòu)

HTML、XML、XHTML 有什么區(qū)別

  • HTML,超文本標(biāo)記語言,是語法較為松散的、不嚴(yán)格的Web語言;

比如大小寫不注意,標(biāo)簽沒有閉合,等等,瀏覽器一定會(huì)展現(xiàn),不會(huì)出現(xiàn)報(bào)錯(cuò),無法運(yùn)行的情況.

  • XML,可擴(kuò)展標(biāo)記語言,主要用于存儲(chǔ)數(shù)據(jù)和結(jié)構(gòu).(參考);
  • XHTML,可擴(kuò)展超文本標(biāo)記語言,基于XML,作用與HTML類似,但語法更嚴(yán)格.(參考)

可認(rèn)為是更嚴(yán)格的HTML


怎樣理解語義化HTML

  • <em> HTML語義化是什么?</em>

    語義化是指根據(jù)內(nèi)容的結(jié)構(gòu)化(內(nèi)容語義化),選擇合適的標(biāo)簽(代碼語義化),便于開發(fā)者閱讀和寫出更優(yōu)雅的代碼的同時(shí),讓瀏覽器的爬蟲和機(jī)器很好的解析。

  • <em>為什么要語義化?</em>

    • 有利于SEO,有助于爬蟲抓取更多的有效信息,爬蟲是依賴于標(biāo)簽來確定上下文和各個(gè)關(guān)鍵字的權(quán)重。
    • 語義化的HTML在沒有CSS的情況下也能- 呈現(xiàn)較好的內(nèi)容結(jié)構(gòu)與代碼結(jié)構(gòu)
    • 方便其他設(shè)備的解析
    • 便于團(tuán)隊(duì)開發(fā)和維護(hù)
    • 支持更多的設(shè)備

屏幕閱讀器(如果訪客有視障)會(huì)完全根據(jù)你的標(biāo)記來“讀”你的網(wǎng)頁。 如果你使用的含語義的標(biāo)記,屏幕閱讀器會(huì)根據(jù)你的標(biāo)簽來判斷網(wǎng)頁的內(nèi)容,而不是一個(gè)字母一個(gè)字母的拼寫出來。

  • <em>怎樣語義化?</em>

    • 語義化的HTML結(jié)構(gòu)首先要強(qiáng)調(diào)HTML結(jié)構(gòu)

    HTML結(jié)構(gòu)是頁面的骨架,一個(gè)頁面就好像一幢房子,HTML結(jié)構(gòu)就是鋼筋混泥土的墻。CSS是裝飾材料,是原木地板,是大理石,是油漆,是用來裝飾房子的。合理的房屋結(jié)構(gòu)和賞心悅目的裝修搭配才是一個(gè)舒適的居住環(huán)境。
    或者HTML結(jié)構(gòu)對(duì)我們來說本身就是某種語言代碼邏輯,CSS就是需要展現(xiàn)的數(shù)據(jù)。我們可以通過設(shè)置不同的數(shù)據(jù)(CSS樣式)來得到不同的結(jié)果輸出(表現(xiàn))。數(shù)據(jù)是靈活多變的,但業(yè)務(wù)邏輯,代碼本身結(jié)構(gòu)卻是固定通用的。
    所以,擁有一個(gè)既清晰又干凈的HTML結(jié)構(gòu)是非常重要的。

    • 分清語義化標(biāo)簽和默認(rèn)樣式

    HTML在頁面中的作用就是結(jié)構(gòu)和含義,通俗點(diǎn)說就是劃分內(nèi)容,這里放什么,我們放的是什么。HTML本身是沒有表現(xiàn)的,我們看到例如 <h1>是粗體,字體大小2em,加粗;<strong>是加粗的, 不要誤會(huì)這是HTML的表現(xiàn),這些其實(shí)是HTML默認(rèn)的CSS樣式在起作用??梢员WC去掉或樣式丟失的時(shí)候也能讓頁面呈現(xiàn)清晰的結(jié)構(gòu)。

結(jié)構(gòu)(HTML)才是重點(diǎn),樣式(CSS)是用來修飾結(jié)構(gòu)的。

>所以要先確定HTML標(biāo)簽,再來選用合適的CSS樣式。布局的標(biāo)簽是通過HTML內(nèi)在的上下文語境來決定當(dāng)前的語義化的結(jié)構(gòu),而不是通過外在的樣式表現(xiàn)來決定能襯托的標(biāo)簽。那些樣式只是瀏覽器默認(rèn)的CSS樣式。它們就只是開發(fā)商默認(rèn)給新房刷的大白粉墻面一樣,不同的裝修公司設(shè)計(jì)的風(fēng)格不同的,也可能只是簡(jiǎn)單刷白,那我們剛好可以復(fù)用,也或者會(huì)再貼其它墻紙,那我們也只好覆蓋它。重點(diǎn)永遠(yuǎn)在墻體。

樣式本身是沒有意義和內(nèi)容邏輯的,維護(hù)CSS的代價(jià)要遠(yuǎn)遠(yuǎn)小于維護(hù)HTML結(jié)構(gòu)。

  • <em>一些語義化實(shí)用建議</em>

    • 根據(jù)文檔上下文結(jié)構(gòu)合理的選用最適合表達(dá)當(dāng)前語義的標(biāo)簽;

    • 盡可能少的使用無語義的標(biāo)簽div和span;

    • 不要使用純樣式標(biāo)簽,如:b、font、u等,一切表現(xiàn)改用css設(shè)置;

    • h標(biāo)簽的使用應(yīng)該根據(jù)重要性逐級(jí)遞減,沒有斷層。并且一個(gè)頁面只能有一個(gè)h1;

    • 提高關(guān)鍵詞密度,如圖片替換alt,鏈接說明title;

    • 正確使用內(nèi)容容器,如段落p,列表ul, ol, li, dl, dt, dd

    • 需要強(qiáng)調(diào)的文本,可以包含在strong或者em標(biāo)簽中(瀏覽器預(yù)設(shè)樣式,能用CSS指定就不用他們),strong默認(rèn)樣式是加粗(不要用b),em是斜體(不用i);

    • 使用表格時(shí),標(biāo)題要用caption,表頭用thead,主體部分用tbody包圍,尾部用tfoot包圍。表頭和一般單元格要區(qū)分開,表頭用th,單元格用td;

    • 表單域要用fieldset標(biāo)簽包起來,并用legend標(biāo)簽說明表單的用途;

    • 每個(gè)input標(biāo)簽對(duì)應(yīng)的說明文本都需要使用label標(biāo)簽,并且通過為input設(shè)置id屬性,在lable標(biāo)簽中設(shè)置for=someld來讓說明文本和相對(duì)應(yīng)的input關(guān)聯(lián)起來。

相關(guān)鏈接


怎樣理解內(nèi)容與樣式分離的原則

  • 網(wǎng)頁三部分:Html——結(jié)構(gòu),css——表現(xiàn),javascrip——行為。內(nèi)容也就是html,樣式也就是css。所以內(nèi)容和樣式的分離,就是指在網(wǎng)頁編碼的過程中,要將html和css兩大部分分開。

  • 寫 HTML 的時(shí)候先不管樣式, 重點(diǎn)放在HTML的結(jié)構(gòu)和語義化上,讓 HTML 能體現(xiàn)頁面結(jié)構(gòu)或者內(nèi)容。之后再去寫樣式。

  • 寫 JS 的時(shí)候,盡量不要用 JS 去直接操作樣式,而是通過給元素添加刪除class來控制樣式變化

  • HTML 內(nèi)不允許出現(xiàn)屬性樣式,盡量不要出現(xiàn)行內(nèi)樣式


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • HTML頁面結(jié)構(gòu)與常見標(biāo)簽筆記 HTML、XML、XHTML的區(qū)別 HTML,超文本標(biāo)記語言,語法較為松散、不嚴(yán)格...
    謹(jǐn)言_慎行閱讀 651評(píng)論 0 2
  • 1.HTML、XML、XHTML 有什么區(qū)別 HTML:超文本標(biāo)記語言,主要用于寫web頁面的結(jié)構(gòu) XML:可擴(kuò)展...
    S級(jí)食材咩咩羊閱讀 383評(píng)論 0 0
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,171評(píng)論 1 92
  • 01 1.結(jié)構(gòu)層:負(fù)責(zé)語義表達(dá),解決頁面內(nèi)容是什么問題 2.表示層:由css負(fù)責(zé)創(chuàng)建,解決頁面如何顯示內(nèi)容 3.行...
    涼小呆閱讀 414評(píng)論 0 0
  • 【原文】子曰:“為政以德(1),譬如北辰(2),居其所(3)而眾星共(4)之?!?【譯文】孔子說:“(周君)以道德...
    宋紅利閱讀 179評(píng)論 0 0

友情鏈接更多精彩內(nèi)容