Ⅰ 什麼是精靈圖在css中如何使用精靈圖
CSS Sprites其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用CSS的「background-image」,「background- repeat」,「background-position」的組合進行背景定位,background-position可以用數字能精確的定位出背景圖片的位置。這樣可以減少很多圖片請求的開銷,因為請求耗時比較長;請求雖然可以並發,但是也有限制,一般瀏覽器都是6個。對於未來而言,就不需要這樣做了,因為有了`http2`。
具體請查看「background-image」,「background- repeat」,「background-position」的使用方法
Ⅱ 如何進行前端優化
1.減少 HTTP 請求....
2.使用 HTTP2
3.使用服務端渲染
4.靜態資源使用 CDN
5.將 CSS 放在文件頭部,JavaScript 文件放 ...
6.使用字體圖標 iconfont 代替圖片圖標
7.善用緩存,不重復載入相同的資源
8.壓縮文件
9.圖片優化
(1).圖片延遲載入
(2). 響應式圖片
(3). 調整圖片大小
(4). 降低圖片質量
(5). 盡可能利用 CSS3 效果代替圖片
(6). 使用 webp 格式的圖片
10. 通過 webpack 按需載入代碼,提取第三庫代碼,減少 ES6 轉為 ES5 的冗餘代碼
11. 減少重繪重排
12. 使用事件委託
13. 注意程序的局部性
14. if-else 對比 switch
15. 查找表
16. 避免頁面卡頓
17. 使用 requestAnimationFrame 來實現視覺變化
18. 使用 Web Workers
19. 使用位操作
20. 不要覆蓋原生方法
21. 降低 CSS 選擇器的復雜性
(1). 瀏覽器讀取選擇器,遵循的原則是從選擇器的右邊到左邊讀取。
(2). CSS 選擇器優先順序
22. 使用 flexbox 而不是較早的布局模型
23. 使用 transform 和 opacity 屬性更改來實現動畫
24. 合理使用規則,避免過度優化
性能優化主要分為兩類:
載入時優化
運行時優化
Ⅲ web前端 圖片壓縮
我的理解應該是生成圖片的時候,在不影響圖片質量的情況下,盡量用體積小的格式,比如在不透明的情況下盡量把圖片保存成png格式。
在css中有一種技術叫做圖片精靈,就是把一些背景圖做成集合的形式。圖片只需載入一次。
最後網上好像是有插件(瀏覽器也有插件)可以對圖片進行壓縮處理。
Ⅳ css精靈如何控制圖片垂直顯示
<div class="box"><img src="kuaisan017.png" style="width:100px;height:100px;"/></div>
<style>
.box{width:400px;height:400px;background: skyblue;position: relative;}
.box img{position: absolute;display: inline-block;left: 50%;top:50%;margin-top: -50px;/*50px為圖片高度和寬度的一般*/margin-left: -50px;/*50px為圖片高度和寬度的一般*/}
</style>
上面代碼即垂直居中,又水平居中。
Ⅳ 在使用Css精靈技術時,主要應該注意的問題有哪些
主要就是間距 處理好間距 其他問題不大
CSS精靈技術起源很早,IE8以前比較流行,早些年因為沒有雲伺服器和CDN技術,前端有必要優化一下圖片讀取效率和優化請求的問題
現在CDN橫行的時代,CSS精靈技術已經淘汰了,因為這已經不屬於前端主要解決的問題了,當然你以後走的是小前端路線,研究一下還是可以的。大前端的話 這種事兒直接就交給CDN了
Ⅵ unity中sprite是什麼意思
我們用來做sprite 的圖片,通常會留有很多空白的地方,我們在畫完了sprite之後,這些地方很可能就沒有什麼作用了。如果想避免這些資源上的浪費,我們可以把各個sprite做成圖集,把圖片上的空間盡量利用得充實一點。這時候,我們就需要一個製作圖集的工具。
首先,Unity默認是在編輯器環境下不打開圖集打包工具的,只有在Build的時候才會執行自動打包圖集。Edit – Project Setting – Editor.既然這個功能是這樣自動化,那為什麼一開始是禁用狀態,需要我們手動去editor setting裡面設置打開呢?
原因是這個功能在unity打開工程的時候會先花一些時間運算圖集,如果你需要計算的sprite很多,那麼打開就會慢一些。計算好的圖集會放在緩存文件夾ProjectLibraryAtlasCache裡面,如果把這里的內容刪掉,那麼unity將會再次運算圖集。
沒有設置 Packing Tag,那Unity應該不知道怎麼去打包圖集.所以要把你要打包的圖片.設置packingtag放在Resources中的圖片,Unity不會打包到圖集中。
Ⅶ 使用精靈圖添加圖片時,使用哪個屬性可以將所需圖片准確的放在頁面中
通過CSS。
採用CSS里的背景來將圖片插入到網頁中,通過坐標的移動來選擇自己需要的圖片。
精靈圖也有人翻譯成雪碧圖。它是一種圖片整合技術,將多張圖片整合為一張整圖。
Ⅷ heic圖片轉換精靈,教你如何快速轉換成高清jpg,png
在我們日常學習和日常工作中,電腦如何打開heic圖片?HEIC轉換成JPG可以使用圖片格式轉換器。
1.我們打開【風雲圖片格式轉換器】 。
Ⅸ Web前端新手要掌握的性能優化
今天小編要跟大家分享的文章是關於Web前端新手要掌握的性能優化知識。本文將分享一些前端性能優化的常用手段,包括減少請求次數、減小資源大小、各種緩存、預處理和長連接機制,以及代碼方面的性能優化等方面。下面來和小編一起看一看吧!
base64:尤其是在移動端,小圖標可以base64(webpack),大圖片慎用(如果載入速度過於慢的,而且很重要的圖片,可以用base64)
1、減少HTTP的請求次數和傳輸報文的大小
「CSSSprite(雪碧圖、圖片精靈)技術」
使用字體圖標(IconFont)或者SVG等矢量圖
+減少HTTP請求次數或者減少請求內容的大小
+渲染更快:因為它們是基於代碼渲染的,而對於點陣圖(png/jpg/gif)是需要先把圖片編碼在渲染
+不容易是幀變形
+也可以使用webp格式圖片,這種格式要小一些(但是需要伺服器端支持這種格式的請求處理)
「圖片懶載入(延遲載入)技術」
+第一次載入頁面的時候不去請求真實的圖片,提高第一次渲染頁面的速度,請求圖片的額外消耗盡可能不要處理
+當頁面載入完,把出現在用戶視野區域中的圖片做真實載入,沒有出現的先不載入(節約流浪,也能減少對伺服器的請求壓力)
o對於數據我們也盡可能分批載入(不要一次請求過多的數據,例如分頁技術)
音視頻文件取消預載入(preload='none'),這樣可以增加第一次渲染頁面的速度,當需要播放的時候在載入
客戶端和伺服器端的數據傳輸盡可能基於JSON格式完成,XML格式比JSON格式要大一些(還可以基於二進制編碼或者文件流格式,這種格式比文件傳輸好很多)
「把頁面的css/js等文件進行合並壓縮」
合並:爭取css和js都只導入一個(webpack可以實現並合並壓縮哦)
壓縮:基於webpack可以壓縮,對於圖片自己找工具先壓縮,可以使用伺服器的GZIP壓縮
圖片BASE64(用BASE64碼代表圖片,減少HTTP,增加瀏覽器渲染速度,所以真是項目中,尤其是移動端,如果圖片載入緩慢,BASE64一下就好了,;但是base64會導致文件中心的代碼超級惡心,不利於維護和開發,所以減少使用);webpack中科院配置圖片
2、設置各種緩存、預處理和長連接機制
不經常更改的靜態資源做緩存處理(一般做的是304或者ETAG等協商緩存)
「建立Cache-Control和ExpiresHTTP的強緩存」
DNS緩存或者預處理(DNSPrefetch),減少DNS的查找
設置本地的離線存儲(manifest)或者把一些不經常更改的數據做本地臨時存儲(webstorage,indexdb)等
有錢就做CDN(地域分布式伺服器),或者加伺服器
「建立Connection:keep-aliveTcp長連接」
使用HTTP2版本協議(現在用的一般都是http1.1),可以多條tcp通道共存=>管道化鏈接
一個項目分為不同的域(不同的伺服器),例如:資源web伺服器、數據伺服器,圖片伺服器,視頻伺服器等,合理利用伺服器資源,但是導致過多的DNS解析
Cache-Control的優先順序高於Expires
基於本地存儲,做數據的存儲
3、代碼方面的性能優化
減少對閉包的使用(因為過多使用閉包會產生很多不銷毀的內存,處理不好的話,會導致內存溢出「棧溢出」),減少閉包的嵌套(減少作用域鏈的查找層級)
對於動畫來說:能用css解決的不用js(能夠用transform處理的,不用傳統的css樣式,因為transform開啟硬體加速,不會引發迴流,或者使用定位的元素也會好很多,因為定位的元素脫離文檔流,不會對其他元素的位置造成影響),能用
requestAnimationFrame解決的不用定時器
+用requestAnimationFrame還有一個好處,當頁面處於休眠無訪問狀態,動畫會自己暫停,知道回復訪問才開始,而定時器是不論什麼狀態,只要頁面不管,就一直處理
避免使用iframe(因為iframe會嵌入其他頁面,這樣父頁面渲染的時候,還要同時把子頁面也渲染了,渲染進度會變慢)
減少直接對DOM的操作(原因是減少DOM的迴流和重繪...),當代項目基本基於mvvm,mvc數據驅動視圖渲染的,對DOM的操作框架本身完成,性能要好很多
低耦合高內聚(基於封裝的方式:方法封裝,插件,組件,框架,類庫等封裝,減少頁面中的冗餘代碼,提高代碼使用率)
盡可能使用事件委託
避免出現死循環或者嵌套循環(嵌套循環會成倍增加循環的次數)
項目中盡可能使用非同步編程來模擬出多線程的效果,避免主線程阻塞(非同步操作基於Promise設計模式來管理)
JS中不要使用with
避免使用css表達式
函數的防抖和節流
減少使用eval(主要原因是防止壓縮代碼的時候,由於符號書寫不合規,導致代碼混亂)
圖片地圖:對於多次調取使用的圖片(尤其是背景圖),盡可能把它提取成為公共的樣式,而不是每一次重新設置background
減少filter濾鏡的使用
盡可能減少選擇器的層級
盡可能減少table布局
手動回收堆棧內存(賦值為null)
「棧溢出:死遞」
functionfunc(){
func();
}func();
解決方案:
functionfunc(){
setTimeout(func,0);
}func();
相互引用:引用類型之間的相互調用,形成嵌套式內存
letobj1={
name:'obj1',};
letobj2={
name:'obj2',
x:obj1}
obj1.x=obj2;
以上就是小編今天為大家分享的關於Web前端新手要掌握的性能優化知識的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助,想要了解更多web前端知識記得關注北大青鳥web培訓官網,最後祝願小夥伴們工作順利,成為一名優秀的web前端工程師。
Ⅹ 什麼是精靈圖在css中如何使用精靈圖其有什麼優缺點
CSS Sprites其實就是把網頁中一些背景圖片整合到一張圖片文件中,再利用CSS的「background-image」,「background- repeat」,「background-position」的組合進行背景定位,background-position可以用數字能精確的定位出背景圖片的位置。這樣可以減少很多圖片請求的開銷,因為請求耗時比較長;請求雖然可以並發,但是也有限制,一般瀏覽器都是6個。對於未來而言,就不需要這樣做了,因為有了`http2`。
具體請查看「background-image」,「background- repeat」,「background-position」的使用方法