国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

css3處理sprite背景圖壓縮來解決H5網頁在手機瀏覽器下圖標模糊的問題_html/css

來源:懂視網 責編:小采 時間:2020-11-27 16:06:47
文檔

css3處理sprite背景圖壓縮來解決H5網頁在手機瀏覽器下圖標模糊的問題_html/css

css3處理sprite背景圖壓縮來解決H5網頁在手機瀏覽器下圖標模糊的問題_html/css_WEB-ITnose:最近在負責一個微信H5 App項目,遇到一個郁悶的問題,手機瀏覽器查看網頁時圖標都是模糊的,有鋸齒,電腦瀏覽器顯示則是正常。大概知道是分辨率適配等類型的問題,后來網上查找了一些辦法,大部分的解決方案都是設計一套放大1倍的圖標,再壓縮顯示。 我們都知
推薦度:
導讀css3處理sprite背景圖壓縮來解決H5網頁在手機瀏覽器下圖標模糊的問題_html/css_WEB-ITnose:最近在負責一個微信H5 App項目,遇到一個郁悶的問題,手機瀏覽器查看網頁時圖標都是模糊的,有鋸齒,電腦瀏覽器顯示則是正常。大概知道是分辨率適配等類型的問題,后來網上查找了一些辦法,大部分的解決方案都是設計一套放大1倍的圖標,再壓縮顯示。 我們都知
最近在負責一個微信H5 App項目,遇到一個郁悶的問題,手機瀏覽器查看網頁時圖標都是模糊的,有鋸齒,電腦瀏覽器顯示則是正常。大概知道是分辨率適配等類型的問題,后來網上查找了一些辦法,大部分的解決方案都是設計一套放大1倍的圖標,再壓縮顯示。

我們都知道標簽可以通過固定寬高的方式來壓縮大圖,從而得到高清的顯示效果,而圖標一般用背景圖來呈現,怎么搞呢?好吧,css3出了一個很牛逼的屬性background-size可以直接設置背景圖的寬高,直接解決了前者的疑惑。

那么問題來了,我們的網頁不可能每個圖標都獨立一張圖片來加載,那樣每張圖片將會是一個http請求開銷,我們一般的做法是把多張小圖片拼在一張大圖里,然后通過sprite(精靈)background-position定位的方法來解決,只要加載一張大圖,就可以完成多個圖標的顯示,減少http請求開銷,提高性能。所以,我們也希望把放大1倍的高清圖標也拼在一張大圖里,通過background-position來定位到每個對應的圖標上,并進行壓縮。網上找了很多方法,終于找到了一個靠譜的方案:

1)首先,我們要準備兩張排成一行(必須排成一行,下面解釋)的圖片,一張是原始大小,另一張是放大1倍的大小

(map-icon.png)

(map-icon@2x.png)


2) 最初的寫法,主要是在電腦瀏覽器上顯示,我們使用原圖map-icon.png即可

/* //網頁標簽: *//* 裝載圖標的容器,固定寬高,內距設為0 */.control { display: block; text-decoration: none; padding: 0; width: 30px; height: 30px; }/* 圖標標簽,寬高自動填充 */.car,.position,.zoom-in,.zoom-out {	display: block; 	width: 100%; 	height: 100%; 	background: url(images/map-icon.png) no-repeat;}.car { background-position: 0 0; }.position { background-position: -30px 0; }.zoom-in { background-position: -60px 0; }.zoom-out { background-position: -90px 0; }


3) 問題是,我們怎么知道background-size屬性值要設置為多少? 后來找到有一個公式:
高分辨率圖像寬度 / 目標圖像寬度 = X原始Sprites圖像寬度 / x = background-size的寬度值
好吧,公式的原理我們就不在這里展開了,直接寫上去試試:

60 / 30 = 2 即放大倍數

7張60x60的大圖總寬度 420

420 / 2 = 210 即background-size的寬

而background-size的高,我們這里設置為auto即可,然后換上@2x的大圖進行壓縮

還有,我們必須在外層聲明一個Media Queries,該Media Queries專門針對Retina屏幕設備顯示器

/* 移動端媒體查詢像素比 */@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2/1),only screen and (min-device-pixel-ratio: 2) {.car,.position,.zoom-in,.zoom-out {	background: url(images/map-icon@2x.png) no-repeat; background-size: 210px auto;}/* 注意這里還是按30像素大小的位置來查找 */.car { background-position: 0 0; }.position { background-position: -30px 0; }.zoom-in { background-position: -60px 0; }.zoom-out { background-position: -90px 0; }}
相反,貌似也可以給定高度的值,寬度取auto自適應,但我嘗試過,不太容易成功。我們以后就直接用一行圖標排開,給背景圖寬賦值就行了!

最后,給出使用此方案的前后效果圖:

(處理前)


(處理后)

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

css3處理sprite背景圖壓縮來解決H5網頁在手機瀏覽器下圖標模糊的問題_html/css

css3處理sprite背景圖壓縮來解決H5網頁在手機瀏覽器下圖標模糊的問題_html/css_WEB-ITnose:最近在負責一個微信H5 App項目,遇到一個郁悶的問題,手機瀏覽器查看網頁時圖標都是模糊的,有鋸齒,電腦瀏覽器顯示則是正常。大概知道是分辨率適配等類型的問題,后來網上查找了一些辦法,大部分的解決方案都是設計一套放大1倍的圖標,再壓縮顯示。 我們都知
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产一区二区三区免费在线观看 | 亚洲视频在线免费播放 | 国产成人综合久久精品红 | 中文字幕在线播放第一页 | 国内精品伊人久久久久 | 高清国产在线 | 久久久久久久99久久久毒国产 | 在线观看日韩精品 | 亚洲精国产一区二区三区 | 国内精品一区二区三区αv 国产最新进精品视频 | 美女一级a毛片免费观看 | 精品久久久久久综合网 | 亚洲欧美日韩高清一区二区三区 | 亚洲a∨精品一区二区三区下载 | 日韩欧美视频一区二区三区 | 欧美福利一区 | 国产91一区二这在线播放 | 国产在线a视频 | 国内偷拍第一页 | 日韩网址 | 国产在线一区在线视频 | 欧美 日韩 亚洲另类专区 | 黄动漫3d无遮挡免费观看 | 国产产一区二区三区久久毛片国语 | 国产精品不卡在线 | 欧美日韩国产va另类试看 | 韩日一区二区 | 亚洲精品美女久久777777 | 青青国产成人久久91网 | 亚洲视频久久 | 国产97在线观看 | 最新国产小视频在线播放 | 九九精品免视看国产成人 | 亚洲视频免费观看 | 欧美成a人片在线观看 | 亚洲一级二级三级 | 国产精品每日更新在线观看 | 亚洲欧美日韩高清综合678 | 精品一区二区三区视频日产 | 国产日韩欧美在线观看不卡 | 91精品一区二区三区在线播放 |