国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

一些編寫高性能HTML應(yīng)用的建議

2020-03-24 19:11:08
字體:
供稿:網(wǎng)友
你怎么能提高網(wǎng)頁性能? 大多數(shù)開發(fā)者會通過JavaScript和圖片來優(yōu)化,通過服務(wù)器配置,壓縮文件和合并文件 - 甚至調(diào)整CSS(合并小圖片)。 可憐的HTML老是被忽視,盡管它一直是網(wǎng)絡(luò)的核心語言。 HTML正在變得越來越大。排名前100的網(wǎng)站每個html' target='_blank'>HTML頁面大多在40K左右。亞馬遜和雅虎使用上千個HTML頁面。在youtube.com主頁面,HTML元素高達(dá)3500個。 減少的HTML復(fù)雜性和一個頁面的元素數(shù)量并不會明顯提高解析時間 - 但HTML是構(gòu)建極速網(wǎng)頁,和適應(yīng)不同設(shè)備并影響成功的一個關(guān)鍵性的因素。
在本文中,您將了解如何編寫簡潔干凈的HTML,使您能夠創(chuàng)建快速加載并支持多種設(shè)備的網(wǎng)站,將易于調(diào)試和維護(hù)。 寫代碼的方法并不是只有一種-尤其是HTML。這里只是講解一般經(jīng)驗(yàn),但并不是唯一正確的選擇。
HTML, CSS 和 JavaScript HTML是一種標(biāo)記語言,用于表示結(jié)構(gòu)和內(nèi)容。 HTML不應(yīng)被用來顯示風(fēng)格和樣式。不要為了顯得 更大 把文字寫在標(biāo)題標(biāo)簽(h1~h6)中,或只是為了縮進(jìn)而使用blockquotes元素。相反,使用CSS來改變元素的外觀和布局。 HTML元素的默認(rèn)外觀是通過瀏覽器的默認(rèn)樣式實(shí)現(xiàn)的:Firefox,Internet Explorer和Opera均不一樣。例如,在Chrome中默認(rèn)h1元素呈現(xiàn)為32px的大小。 三個基本原則: 使用HTML表示結(jié)構(gòu),CSS用來表現(xiàn)不同樣式的風(fēng)格和主題。JavaScript來響應(yīng)用戶行為。 使用HTML,必要時借助CSS,并且在不得己時再添加JavaScript。例如:在許多情況下,你可能使用HTML表單進(jìn)行驗(yàn)證,使用CSS或SVG來實(shí)現(xiàn)動畫。 將CSS和JavaScript從你的HTML代碼中分離。讓他們能夠緩存,這使代碼更易于調(diào)試。在生產(chǎn)中,CSS和JavaScript是可以壓縮合并的,應(yīng)該作為你Build系統(tǒng)的一部分。 注* 參見 JavaScript構(gòu)建(編繹)系統(tǒng)大比拼
Document文檔結(jié)構(gòu) 使用 HTML5的document type:XML/HTML Code復(fù)制內(nèi)容到剪貼板
title Mypestorecipe /title linkrel= /css/global.css linkrel= css/local.css /head
這樣,瀏覽器就可以在解析HTML前預(yù)先加載樣式而不會呈現(xiàn)一個混亂的頁面布局。 把JavaScript放在頁面的最底部, 在body封閉之前。這將提高頁面渲染時間,因?yàn)闉g覽器可以在JavaScript裝載前將頁面渲染出來:JavaScript Code復(fù)制內(nèi)容到剪貼板
scriptsrc= /js/global.js scriptsrc= js/local.js /body
document.querySelector('#foo'); fooButton.onclick=handleFoo();
合法的HTML Web網(wǎng)頁成功的一個主要因素就是瀏覽器可以處理無效的HTML。瀏覽器還有一些如何呈現(xiàn)無效代碼的標(biāo)準(zhǔn)化規(guī)則。 但是,這不你放任的理由。有效的HTML更容易調(diào)試,往往文件更小,速度更快,占用資源更少,因?yàn)樗鼈冧秩靖臁o效的HTML讓響應(yīng)式設(shè)計難以實(shí)施。 使用模板的時候?qū)懹行У腍TML是特別重要的。 在你的BUILD系統(tǒng)中驗(yàn)證HTML:使用驗(yàn)證插件,如HTMLHint和SublimeLinter來檢查你HTML的語法。 使用HTML5文檔類型。 請務(wù)必保持HTML的層次:正確嵌套元素,確保沒有任何未關(guān)閉的元素。它可以幫助調(diào)試者添加注釋。XML/HTML Code復(fù)制內(nèi)容到剪貼板
p Pestoisgoodtoeat... p ...andpestoiseasytomake.
但是下面的寫法可以避免錯誤,段落層次更加明顯: p Pesto is good to eat... /p
p ...and pesto is easy to make. /p items元素(li)并不是必須封閉的,有些非常聰明的的程序員會寫成這樣,無論如何,list元素(ul)是必須封閉的。XML/HTML Code復(fù)制內(nèi)容到剪貼板
!--錯誤:liabletocauselayoutgrief-- videosrc= foo.webm / !--正確-- videosrc= foo.webm p Videoelementnotsupported. /p /video
相反,通過刪除不必要的代碼HTML頁面會變得更干凈 沒有必要為自封閉元素添加 / ,像img等 設(shè)置屬性是沒有值的,如果不加屬性的話(這種情況下,它不會自動播放,沒有控制控件), video,它是沒有任何屬性的XML/HTML Code復(fù)制內(nèi)容到剪貼板
videosrc= foo.webm autoplay= false controls= false videosrc= foo.webm autoplay= true controls= true
stylet和script標(biāo)簽不需要type屬性;默認(rèn)就是css和javascript 優(yōu)化協(xié)議地址更好(去除置http或https,它會根據(jù)當(dāng)前協(xié)議自動配)XML/HTML Code復(fù)制內(nèi)容到剪貼板
HTML應(yīng)該標(biāo)記有意義的內(nèi)容:元素和描述的內(nèi)容相符。 HTML5引入了一些新的 語義元素 像 header , footer 和 nav 。 使用正確的元素表達(dá)正確的內(nèi)容對于可訪問性是有幫助的。 使用 h1 h2 , h3 代表標(biāo)題, ul 或 ol 代表lists 注意 article 的標(biāo)題應(yīng)該以 h1 開始 使用 header , footer , nav and aside 使用 p 寫正文 使用 em 和 strong 代替 i 和 b 表示強(qiáng)調(diào) 表單使用 label 元素,input 類型 混合文字和元素會導(dǎo)至布局的問題XML/HTML Code復(fù)制內(nèi)容到剪貼板
HTML應(yīng)該使用有意義的組織結(jié)構(gòu),而不是通過樣式來實(shí)現(xiàn)。 使用 p 元素代表文本,而不是用來布局。 避免使用 br 來換行,使用塊級元素和CSS來代替。 避免使用水平分隔線 hr 。使用CSS的border樣式來控制。 不要使用不必要的DIV。W3C對DIV的定義是排序的是最后一個元素。 要了解哪些元素是塊級元素,避免在DIV中放置不必要的塊級元素。將一個list放到div中是沒有必要的。 不要使用table來布局。 Flex box是被廣泛推薦的,能用就用吧。 使用CSS的padding和margin,理解盒子模型。
CSS 這篇文章是關(guān)于HTML的,但是這里有一些基本的CSS小貼士。 避免內(nèi)嵌的CSS。出于性能考慮,CSS可以在BUILD時內(nèi)嵌到你的網(wǎng)頁中。 避免ID出現(xiàn)重復(fù)。 如果你想對多個元素應(yīng)用某個樣式,那么請使用class,在父級元素上使用class比在子級上好:XML/HTML Code復(fù)制內(nèi)容到剪貼板
提供向后兼容 在鏈接上添加title屬性,而且應(yīng)該避免與link文本出現(xiàn)相同的內(nèi)容 在輸入元素上添加type和placeholder屬性
html教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉祥县| 阿拉善盟| 台州市| 安福县| 阜新市| 绥棱县| 甘谷县| 五大连池市| 随州市| 南涧| 光泽县| 米脂县| 双城市| 北海市| 泸水县| 尚志市| 新平| 新宁县| 利津县| 章丘市| 新乐市| 永昌县| 同心县| 黄梅县| 乐亭县| 开原市| 滨州市| 海盐县| 且末县| 黎川县| 广宁县| 雅安市| 达孜县| 宣威市| 盐源县| 青州市| 龙山县| 黄龙县| 高唐县| 黄梅县| 宁都县|