1,從用戶角度而言,優化可以讓頁面加載得更快、對用戶的操做響應得更及時,可以給用戶提供更爲友好的體驗。
2,從服務商角度而言,優化可以減小頁面請求數、或者減少請求所佔帶寬,可以節省可觀的源。css
前端的頁面主要包括xhtml,css,js。其中xhtml就是現實中所談到的內容,頁面的內容:文字,圖片,flash,視頻等。html
tips:
XHTML與HTML之間的差別:html是一種基本的web網頁設計語言,xhtml是一個基於XML的置標語言。
最主要的不一樣:XHTML元素必須正確的被嵌套,元素必須關閉,標籤必須小寫,必須有根元素。前端
結構包括head和body兩個部分,結構語義化主要是body中的標籤。
head中其實包括了一些對於咱們seo頗有用的一些東西,好比title,Description,Keywords,設置緩存等一些其餘的信息。
結構中儘可能不要出現style和onclick這樣的內聯的樣式和事件,注意結構與表現、行爲的分離。web
1. css sprite:若是網頁中使用了大量背景圖片,那麼這些圖片每一張都會發送一個http請求,能夠使用css sprite來合併網頁中的須要頻繁加載的多個圖片。對於合併以後的圖片,咱們須要注意對它圖片質量和大小的優化,圖片越小加載速度越快。(建議使用PNG8格式的圖片結合css sprite,一樣的圖片,PNG8格式會相對來比GIF小); 2. 不要在HTML中縮放圖像(要不是圖片太大誰會縮放啊); 3. favicon.ico (瀏覽器的收藏夾中除顯示相應的標題外,還以圖標的方式區別不一樣的網站。)要小並且可緩存; 4. 懶加載
1. css sprite:若是網頁中使用了大量背景圖片,那麼這些圖片每一張都會發送一個http請求,能夠使用css sprite來合併網頁中的須要頻繁加載的多個圖片。對於合併以後的圖片,咱們須要注意對它圖片質量和大小的優化,圖片越小加載速度越快。(建議使用PNG8格式的圖片結合css sprite,一樣的圖片,PNG8格式會相對來比GIF小); 2. 不要在HTML中縮放圖像(要不是圖片太大誰會縮放啊); 3. favicon.ico (瀏覽器的收藏夾中除顯示相應的標題外,還以圖標的方式區別不一樣的網站。)要小並且可緩存; 4. 懶加載
#box a{color:#f00}; //瀏覽器先遍歷頁面中全部的 a 元素,而後再找id爲box的父元素。
#box a{color:#f00}; //瀏覽器先遍歷頁面中全部的 a 元素,而後再找id爲box的父元素。
Google 資深web開發工程師 Steve Souders 對 CSS 選擇器的執行效率從高到低作了一個排序:瀏覽器
1.id選擇器(#myid)
2.類選擇器(.myclassname)
3.標籤選擇器(div,h1,p)
4.相鄰選擇器(h1+p)
5.子選擇器(ul < li)
6.後代選擇器(li a)
7.通配符選擇器(*)
8.屬性選擇器(a[rel="external"])
9.僞類選擇器(a:hover, li:nth-child)緩存
根據以上「選擇器匹配」與「選擇器執行效率」原則,咱們能夠經過避免不恰當的使用,提高 CSS 選擇器性能。sass
.box *{color:#f00;}