<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          如何提高CSS性能?CSS優化、提高性能提升總匯

          時間:?2017-11-13閱讀:?1531標簽:?性能

          如何提高CSS性能,根據頁面的加載性能和CSS代碼性能,主要表現為: 加載性能 (主要是從減少文件體積,減少阻塞加載,提高并發方面入手),選擇器性能,渲染性能,可維護性。


           1、盡量將樣式寫在單獨的css文件里面,在head元素中引用

          (1)內容和樣式分離,易于管理和維護

          (2)減少頁面體積

          (3)css文件可以被緩存、重用,維護成本降低


          2、不使用@import  

          如果你使用@import屬性引入css的話,當用戶瀏覽的網速較慢時,他會看到一個沒有風格樣式的頁面,然后隨著CSS文件被下載完成才可以看到應有的風格


          3、避免使用復雜的選擇器,層級越少越好  

          項目的模塊越來越多,功能越來越復雜,我們寫的CSS選擇器會內套多層,越來越復雜。建議選擇器的嵌套最好不要超過三層,簡潔的選擇器不僅可以減少css文件大小,提高頁面的加載性能,瀏覽器解析時也會更加高效,也會提高開發人員的開發效率,降低了維護成本。


          4、精簡頁面的樣式文件,去掉不用的樣式  

          (1)樣式文件偏大,影響加載速度

          (2)瀏覽器會進行多余的樣式匹配,影響渲染時間。

          根據當前頁面需要的css去合并那些當前頁面用到的CSS文件, 合并成一個文件有一個優點:樣式文件會被瀏覽器緩存,進入到其他頁面樣式文件不用再去下載。


          5、利用CSS繼承減少代碼量  

          我們知道有一部分CSS代碼是可以繼承的,如果父元素已經設置了該樣式,子元素就不需要去設置該樣式,這個也是提高性能的行之有效的方法。  


          6、慎重使用高性能屬性:浮動、定位;  

          一方面,浮動的種種復雜的布局規則注定了它是一種試探性局部 reflow 式的布局算法。瀏覽器需要花費很多精力來處理它。另一方面,浮動元素的布局牽涉到的因素更多。在同一布局空間中,所有浮動元素均存在于“靜態層”之上的“浮動層”,不僅浮動層中的多個浮動元素會相互影響,浮動元素與靜態層也有互動。


          7、css樣式前綴

          標準化各種瀏覽器前綴,帶瀏覽器前綴的在前,標準的在后


          8、css屬性值 

          屬性值為0時,不加單位
          屬性值為浮點數0.**時,可以省略小數點前的0 

           

          CSS Lint 


          這是一個發現CSS書寫問題,提升性能的工具 ,如:

          • 修復解析錯誤(Parsing errors should be fixed)

          • 避免使用多類選擇符(Don't use adjoining classes)

          IE6以及更古老的瀏覽器對類似.foo.bar的多類選擇符解析不正確
          • 移除空的css規則(Remove empty rules)

          這個規則不包含任何屬性,類似:.foo { }
          空規則的產生原因一般來說是為了預留樣式。去除這些空規則無疑能減少css文檔體積。
          • 正確使用display的屬性(Use correct properties for a display)

          由于display的作用,某些樣式組合會無效,徒增樣式體積的同時也影響解析性能。CSS Lint會檢查一下幾點:
          display:inline后不應該再使用width、height、margin、padding以及float。
          display:inline-block后不應該再使用float。
          display:block后不應該再使用vertical-align。
          display:table-*后不應該再使用margin或者float。
          • 不濫用浮動(Don't use too many floats)

          雖然浮動不可避免,但不可否認很多css bug是由于浮動而引起。CSS Lint一旦檢測出樣式文件中有超過10次的浮動便會提示警告。
          • 不濫用web字體(Don't use too many web fonts)

          對于中文網站來說Web Fonts可能很陌生,國外卻很流行。web fonts通常體積龐大,而且一些瀏覽器在下載web fonts時會阻塞頁面渲染損傷性能。
          • 不聲明過多的font-size(Don't use too may font-size declarations)

          這是設計層面的問題,設計精良的頁面不會有過多的font-size聲明。
          • 不在選擇符中使用ID標識符(Don't use IDs in selectors)

          主要考慮到樣式重用性以及與頁面的耦合性。
          • 不給h1~h6元素定義過多的樣式(Don't qualify headings)

          全站統一定義一遍heading元素即可,若需額外定制樣式,可使用其他選擇符作為代替。
          • 不重復定義h1~h6元素(Heading styles should only be defined once)

          • 值為0時不需要任何單位(Zero values don't need units)

          • 標準化各種瀏覽器前綴(Vendor prefixed properties should also have the standard)

          通常將瀏覽器前綴置于前面,將標準樣式屬性置于最后,類似:
          .foo {-moz-border-radius: 5px;border-radius: 5px; }
          • 使用CSS漸變等高級特性,需指定所有瀏覽器的前綴(CSS gradients require all browser prefixes)

          • 避免讓選擇符看起來像正則表達式(Avoid selectors that look like regular expressions)

          CSS3添加了一些類似~=等復雜屬性,也不是所有瀏覽器都支持,需謹慎使用。
          • 遵守盒模型規則(Beware of broken box models)


          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/101

          怎樣測試 JavaScript 的函數性能

          通過衡量執行某個函數所花費的時間,以“證明”某些實現比另一些實現更高效始終是一個很好的主意。這也是確保性能在進行一些修改后不受影響并找出瓶頸的好方法。良好的性能有助于獲得良好的用戶體驗。良好的用戶體驗能夠留住用戶

          如何優化css expression性能?

          IE 瀏覽器中 CSS Expression 特性的最大的問題:會反復執行,每秒鐘可能執行了成百上千次,有嚴重的性能問題。何對 CSS Expression 進行優化呢?至少:如果我們將 CSS Expression 在匹配的元素中僅執行一次,性能將會提升很大。

          vue + webpack 前端性能優化

          對于程序開發者而言,開發一個項目不僅僅注重效率和功能,前端的性能問題也是非常重要的。這直接影響用戶的體驗,從而間接的也反應該項目質量的好壞

          小程序Canvas性能優化實戰

          在小程序中使用canvas組件繪制地鐵圖,地鐵圖包括地鐵線路、站點圖標、線及站點名稱文字,繪制元素為線、圓、圖片、文字。 支持拖動平移和雙指縮放。

          Js中的調節器:提高應用程序的性能

          調節器是瀏覽器中通過限制代碼要處理的事件數量來提高性能的常用技術。當你想以受控的速率執行回調時,應該使用調節器,它允許你在每個固定的時間間隔內重復處理過渡狀態。

          讓你的 React 組件跑得再快一點

          React 基于虛擬 DOM 和高效 Diff 算法的完美配合,實現了對 DOM 最小粒度的更新。大多數情況下,React 對 DOM 的渲染效率足以我們的業務日常。但在個別復雜業務場景下,性能問題依然會困擾我們。此時需要采取一些措施來提升運行性能

          Java與Node.js性能PK

          如果你打開瀏覽器,搜索“Java與Node.js哪個更快”,你會發現大部分答案聲稱Node.js更快,也有一些人持相反意見。Java使用JIT編譯器,其性能甚至可以超過C++。在這種情況下,為什么這么多人還是聲稱Node.js要比Java快呢?

          React性能優化整理

          通過判斷減少數據變化觸發的重新渲染, 以及之后的 DOM diff;函數式語言當中, 語言設計允許兩個對象一樣, 舉例 Clojure:;每個函數體當中生成的對象都會有新的引用, useMemo 可以保留一致的引用.

          大型php網站性能和并發訪問優化方案

          網站性能優化對于大型網站來說非常重要,一個網站的訪問打開速度影響著用戶體驗度,網站訪問速度慢會造成高跳出率,小網站很好解決,那對于大型網站由于欄目多,圖片和圖像都比較龐大,那該怎么進行整體性能優化呢

          優化 web 應用程序性能方案總結

          在開發 web 應用程序時候,性能都是必不可少的話題。而大部分的前端優化機制都已經被集成到前端打包工具 webpack 中去了,當然,事實上仍舊會有一些有趣的機制可以幫助 web 應用進行性能提升

          內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權或違規,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网