css前端優(yōu)化中的幾個關(guān)鍵問題是什么(css前端優(yōu)化中的幾個關(guān)鍵問題有哪些)

發(fā)布時間:2024-02-26
本文主要介紹css前端優(yōu)化有哪些關(guān)鍵問題(css前端優(yōu)化有哪些關(guān)鍵問題)?,下面一起看看css前端優(yōu)化有哪些關(guān)鍵問題(css前端優(yōu)化有哪些關(guān)鍵問題)?相關(guān)資訊。
說到網(wǎng)站的高性能,很多人會想到頁面的加載時間,但其實性能不僅僅是加載時間,還有瀏覽器性能、網(wǎng)絡(luò)性能、開發(fā)效率。性能很重要。在網(wǎng)絡(luò)前端的第一個開發(fā)考慮中,會介紹一些開發(fā)原則和性能指標(biāo),這些都是基于提高web前端的性能。1。開發(fā)原則1.1編寫符合當(dāng)代瀏覽器性能的代碼。想要提高前端性能,就必須了解瀏覽器的工作原理,哪怕是一個大概的概念,這樣才能知道性能瓶頸以及如何優(yōu)化。下圖顯示了webkit瀏覽器向用戶處理頁面的代碼(html css)。為什么瀏覽器第一次下載頁面的html內(nèi)容?首先,html被解析成dom樹,然后html包含所有其他資源文件(樣式、腳本、圖片)來顯示網(wǎng)頁。然后將dom和css樣式表(包括自定義瀏覽器的默認(rèn))結(jié)合起來形成渲染樹。瀏覽器根據(jù)這個渲染樹開始繪制屏幕。要提高瀏覽器性能,可以開始減少組件數(shù)量,用html重繪。前者很好理解。唐 不要濫用html標(biāo)簽,而要使用最小但必要的html語義布局。后者在提高性能方面更有效。元完成后,動態(tài)變化的dom結(jié)構(gòu)或css樣式使瀏覽器重繪,重繪的性能損失直接取決于動態(tài)范圍。比如一個單元或者一個新元素的位置變化,會引起大量的重繪,因為影響到兄弟等所有元素;動態(tài)添加一個鏈表而不是一個,李說,因為每多加一次都會導(dǎo)致重繪,但是所有的條目都是在一起然后添加的。此外,一些簡化的重繪還指定了img元素的寬度、表格的布局、標(biāo)題中設(shè)置的標(biāo)簽的屬性的定義等等。一般來說,深度dom樹中元素的變化對其他節(jié)點影響不大;如果要倍增dom,盡量把它合并成一個完整的,各種各樣的樣式,比如修改dom元素,不要重復(fù)各種element.style的下一個任務(wù),但是會改變一個css類中的各種編寫樣式和該類的dom元素。1.2用css布局和處理邊界瀏覽器來渲染頁面,其實就是畫一系列的盒子,盒子是可以嵌套的。在使用css布局的時候,要注意語義,把元素包裝在盒子里,而不是把一些元素放在盒子里。如下圖,我們需要使用css來實現(xiàn)這個簡單的兩列布局。it 最好創(chuàng)建一個填充的左列和右列,并找到左列圖標(biāo)left: 0,這樣我們就可以有一個包含所有內(nèi)容的框。這是邊距左左和右列的錯誤設(shè)置,列圖標(biāo)肯定位于左側(cè):-50px。這個方法圖標(biāo)在盒子外面,但是它也定義了一個負(fù)的。坐標(biāo),既符合語義(框外包含的元素),又協(xié)調(diào)了代碼的負(fù)面意義,這樣的布局可能是老瀏覽器的問題。css的寫作風(fēng)格也要考慮模塊化和可重用性。如果你寫的代碼是獨立的,它是可重用的。另外,從css類中經(jīng)??梢钥吹剑业慕?jīng)驗是盡可能用樣式元素給css類添加樣式,而不是用功能元素的名字,比如一個郵件按鈕。按鈕確認(rèn)than.btn-send-mail,前者可以確認(rèn)任何按鈕操作(當(dāng)然這個. btn-send-mail類可以用于js事件綁定,只要不綁定任何樣式)。1.3逐步增強逐步增強是先兼容所有瀏覽器的基礎(chǔ)設(shè)計,然后改進(jìn)漸進(jìn)式瀏覽器的風(fēng)格或功能。比如在設(shè)置漸變背景色的時候,可以先定義背景色屬性(退化方法),再設(shè)置其他線性漸變屬性,這樣可以保證瀏覽器在同樣可以顯示背景色的情況下,不支持css3。強烈建議不要通過判斷一個功能來判斷瀏覽器類型或版本號,建議通過特征檢測、特征檢測、第三方庫modernizr來判斷。2。性能標(biāo)準(zhǔn)前端開發(fā)者不僅要為用戶提供最好的界面體驗,還要關(guān)心頁面加載時間。2010年4月,谷歌將頁面加載速度納入搜索的排名因素。大量研究數(shù)據(jù)表明,用戶流量與加載速度之間存在正相關(guān)關(guān)系,因此優(yōu)化頁面加載速度非常重要。2.1.減少http請求的http請求數(shù)量是前端最明顯的性能效果?,F(xiàn)代很多瀏覽器都支持四個并行連接,了解瀏覽器的并行機制,將資源文件分配給不同的域名,并發(fā)使用瀏覽器,提高加載效率。就是加載一個比大量小文件更小更大的文件,所以網(wǎng)站要盡量合并css和js文件。此外,使用圖片向?qū)?css sprite,俗稱向?qū)D)可以將小圖片和多個圖標(biāo)縮減為一個大圖片,可以減少http請求的圖片數(shù)量。2.2使用cdn加速:如果有能力,可以通過放置靜態(tài)資源文件,如圖片、字體、js庫等,大大提高訪問速度。,在cdn里。2.3避免空src和href屬性值:空src img元素由js動態(tài)分配,導(dǎo)致瀏覽器啟動無用的http請求。類似地,點擊標(biāo)簽 的空鏈接也會導(dǎo)致瀏覽器發(fā)起http請求,通常是重新加載當(dāng)前頁面,這就是為什么許多初學(xué)者可以 我找不到錯誤。2.4.增加到期日:靜態(tài)資源文件應(yīng)該添加到到期日。到期日期必須設(shè)置得很遠(yuǎn)。基本上可以假設(shè)永遠(yuǎn)不會過期,所以瀏覽器會緩存靜態(tài)文件。但是,為了防止用戶更新最新的文件,最好將版本控制添加到。在文件名2.5啟用gzip壓縮:在服務(wù)器上啟用gzip壓縮可以減少平均70%的文本文件傳輸流量。2.6將css javascript放在后面:瀏覽器會分析html渲染元素的同時,確保第一個元素渲染部分在css之前是正確的,將css放在后面會導(dǎo)致很多瀏覽器腳本標(biāo)簽被重畫。最后因為瀏覽器會對js文件進(jìn)行預(yù)處理,所以放js文件的頭會延遲頁面元素的渲染,讓用戶感覺網(wǎng)頁會變慢。2.7避免使用css表達(dá)式:css表達(dá)式只支持ie5、ie6、ie7中的css表達(dá)式,這不僅遠(yuǎn)遠(yuǎn)超出了正常,而且嚴(yán)重影響了頁面的渲染效率mdash;mdash只要一個滾動的頁面,甚至當(dāng)你移動鼠標(biāo),表達(dá)了計算,這是不必要的。2.8、刪除不用的css語句。有可能在實際項目中,common.css可以讓每一頁都被引用來說明這些常見的樣式。我們應(yīng)該充分利用這份公開文件。2.9 javascript和css的代碼壓縮:壓縮代碼可以顯著節(jié)省帶寬,提高加載速度。部署到代碼時,最好使用工具壓縮代碼。
了解更多css前端優(yōu)化有哪些關(guān)鍵問題(css前端優(yōu)化有哪些關(guān)鍵問題)?相關(guān)內(nèi)容請關(guān)注本站點。
上一個:吸音橡塑保溫板 吸音保溫橡塑板手續(xù)齊全
下一個:風(fēng)鈴草白粉病防治

粉體工程的研究內(nèi)容有哪些
導(dǎo)致絕緣電阻表指針不能指零位故障的原因及檢修方法
患者與醫(yī)院發(fā)生糾紛怎么處理
金稅盤證書口令被鎖死,請解鎖后重新登錄(金稅盤證書口令忘了怎么辦)
iphone國行和港版哪個質(zhì)量好(國行的蘋果和港版的蘋果有什么區(qū)別)
常州恐龍園燈會 時間+地點+交通
win10如何調(diào)整電腦字體大小(win10怎樣調(diào)整電腦字體大小)
晚香玉栽培管理
紅蠟蚧的發(fā)生及其防治技術(shù)
昂達(dá)b550 vh w(昂達(dá)b550sd4)
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos