提高網(wǎng)站頁(yè)面的加載速度的方法其實(shí)有很多,那本文主要從下面四個(gè)角度進(jìn)行討論,分享常用的提高網(wǎng)頁(yè)加載速度的技巧:
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、凌河ssl等。為近1000家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的凌河網(wǎng)站制作公司
一、網(wǎng)頁(yè)壓縮技術(shù)
對(duì)于網(wǎng)頁(yè)壓縮而言,相信各位站長(zhǎng)都比較熟悉,主要是啟用服務(wù)器Gzip,對(duì)頁(yè)面Gzip壓縮,減少元素的體積,從而減少數(shù)據(jù)的傳輸,進(jìn)而提高網(wǎng)頁(yè)的加載速度。
二、Css優(yōu)化
(1)css位置
CSS說(shuō)明如果出現(xiàn)在body后,頁(yè)面需要重新渲染,打開(kāi)速度受到影響。所有css定義代碼的位置要放到網(wǎng)站body之前。
(2)css sprite技術(shù)
網(wǎng)站上的一些圖片可以采用css sprite技術(shù)進(jìn)行合并,減少加載請(qǐng)求次數(shù),從而提高網(wǎng)頁(yè)的加載速度。
(3)css代碼優(yōu)化
通過(guò)對(duì)css代碼屬性的簡(jiǎn)寫(xiě)、移除多余的結(jié)構(gòu)(frameworks)和重設(shè)(resets)等一系列的方法和技巧來(lái)簡(jiǎn)化css代碼,減小css文件的大小。
三、JS優(yōu)化
(1)JS位置
網(wǎng)頁(yè)代碼中對(duì)js進(jìn)行優(yōu)化的時(shí)候,建議將JS放在頁(yè)面最后,這樣可以加快頁(yè)面打開(kāi)速度。
(2)合并JS
合并相同域名下的js,通過(guò)減少網(wǎng)絡(luò)連接次數(shù)從而提高網(wǎng)頁(yè)的打開(kāi)速度。
(3)LazyLoad(延遲加載)技術(shù)
Lazy Load是一個(gè)用JavaScript 編寫(xiě)的 jQuery 插件,它可以延遲加載長(zhǎng)頁(yè)面中的圖片。在瀏覽器可視區(qū)域外的圖片不會(huì)被載入,直到用戶將頁(yè)面滾動(dòng)到它們所在的位置。
四、緩存靜態(tài)資源
通過(guò)設(shè)置瀏覽器緩存,將css、js等不太經(jīng)常更新的文件緩存在瀏覽器端,這樣同一訪客再次訪問(wèn)你的網(wǎng)站的時(shí)候,瀏覽器就可以從瀏覽器的緩存中獲取css、js等,而不必每次都從服務(wù)器讀取,這樣在一定程度上加快了網(wǎng)站的打開(kāi)速度,又可以節(jié)約服務(wù)器流量。
按優(yōu)先級(jí):前端優(yōu)先讀取正序。正規(guī)規(guī)范優(yōu)先倒序。
style= 這樣肯定是最優(yōu)的,但也是最不推薦的。前端標(biāo)簽直接寫(xiě)入。
延伸閱讀:讀取優(yōu)先,靈活使用,如大量頁(yè)面,每頁(yè)面都要設(shè)置。工作繁瑣,大量寫(xiě)入增加代碼量。不利優(yōu)化。
style type="text/css" 這樣屬于第二讀取方式。直接寫(xiě)在對(duì)應(yīng)的頁(yè)面。
延伸閱讀:每頁(yè)面都要設(shè)置。工作繁瑣,大量寫(xiě)入增加代碼量。不利優(yōu)化。
link type="text/css" href=" 引用CSS文件 第三級(jí)。這全局引入.
延伸閱讀:全局CSS??梢苑蛛x代碼及外部引入,簡(jiǎn)單快捷。也是現(xiàn)在都在用的。
可以在頁(yè)面的head/head里添加style/style來(lái)添加CSS
也可以獨(dú)立建一個(gè)CSS文件 然后通過(guò)在head/head里添加link rel="stylesheet" type="text/css" href="css.css" /來(lái)添加外部的CSS文件 推薦使用第二種方法 也就是家在外部的CSS獨(dú)立文件 這樣的優(yōu)勢(shì)是可以多個(gè)頁(yè)面同時(shí)調(diào)用一個(gè)CSS 并且會(huì)節(jié)省帶寬 免去多次下載CSS的時(shí)間
就不解釋什么內(nèi)聯(lián)樣式、內(nèi)部樣式、外部樣式了,不夠直觀,通俗點(diǎn)或者直觀點(diǎn)說(shuō)好了:
第一優(yōu)先級(jí)是標(biāo)簽上用style設(shè)置的css,例如:div style="樣式"/div
第二優(yōu)先級(jí)是html頁(yè)面上在style/style內(nèi)設(shè)置編寫(xiě)的css,例如:
style .divcss{樣式}/style
第三優(yōu)先級(jí)是在html頁(yè)面上引用外部的css樣式表,例如:
link href="文件路徑" rel="stylesheet" media="screen" /
無(wú)論說(shuō)法是叫優(yōu)先級(jí)還是是加載順序,都不重要,只要你有這么一個(gè)概念就好了,優(yōu)先級(jí)越高,當(dāng)碰到調(diào)用2個(gè)或2個(gè)以上同類型css的時(shí)候,只會(huì)調(diào)用優(yōu)先級(jí)最高的那1個(gè),要記住,每個(gè)標(biāo)簽上只能調(diào)用同類型css一次,比如你設(shè)置了寬度width:200px;那么你再在其他調(diào)用方式中設(shè)置了width:300px;或其他值,那么只會(huì)按優(yōu)先級(jí)調(diào)用1個(gè)width值,其他的將會(huì)是無(wú)效值,不過(guò)切記,只是在這個(gè)標(biāo)簽上失效
最近發(fā)現(xiàn)一個(gè)比較奇怪的問(wèn)題,就是在開(kāi)發(fā)vue中,路由點(diǎn)擊跳轉(zhuǎn)到另外一個(gè)組件中,樣式是不出來(lái)的,然后刷新當(dāng)前頁(yè)面css樣式才加載出來(lái),找了好久才發(fā)現(xiàn)這個(gè)bug。
進(jìn)入以后樣式是這樣的:css樣式根本沒(méi)有加載,這是為什么?
刷新了頁(yè)面以后才可以出來(lái),本身樣式也是這樣的:
找了半天原因,一點(diǎn)一點(diǎn)測(cè)試才發(fā)現(xiàn)
原來(lái)渲染的組件的父盒子的class='item'居然影響了css樣式的內(nèi)容,很奇怪,把class='item'修改成比如:class='abc'就可以了。
原文地址和更多信息: