如何在普清的屏上調試CSS樣式二倍圖背景

来源:http://www.cnblogs.com/wengxuesong/archive/2016/11/14/6062809.html
-Advertisement-
Play Games

吐槽: 隨著現在越來越多人裝B,特別是一些產品經理。 現在也在換新的筆記本電腦,蘋果的筆記本又是裝B利器(特別是retina的pro)。 最近就遇到一個同事的項目,還是像平常一樣小心切圖,認真對像素。 一切測試都沒有問題,順利上線。 但是,上線之後,產品經理跑過來說,有BUG。 BUG描述:(不認為 ...


吐槽:

隨著現在越來越多人裝B,特別是一些產品經理。

現在也在換新的筆記本電腦,蘋果的筆記本又是裝B利器(特別是retina的pro)。

最近就遇到一個同事的項目,還是像平常一樣小心切圖,認真對像素。

一切測試都沒有問題,順利上線。

但是,上線之後,產品經理跑過來說,有BUG。

BUG描述:(不認為是BUG)

前端頁面上的圖標是虛的。

環境:mackbook pro retina屏

現象:

給了一個截圖

圖標是虛的

BUG修複要求:

對圖標進行修正,使在retina屏上圖標依舊是清晰的。

分析:

到這裡,做過移動端頁面的都知道,這是沒有雙倍圖呀。

修複方法:

第一步,讓設計師出對應圖標的雙倍圖

第二步,使用css的media query適配retina屏。

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
only screen and (-moz-min-device-pixel-ratio: 1.5),
only screen and (-o-min-device-pixel-ratio: 3/2),
only screen and (min-device-pixel-ratio: 1.5) {
  /* 這裡放對應的圖標相容! */
}

第三步,對應圖標樣式添加,併在瀏覽器中察看效果。

上面三步完成,這個小的適配也算完成了。

痛點:

但一般工作環境是不會每人配置一臺蘋果的,至少我們公司沒有。

在修複的過程小的調試難免,這就要頻繁用到機器。

機器不好找,只能用其他方法了。

看一下上面的適配的media query代碼。

dervicePixelRatio,這個屬性,

在chrome里可以使用window.dervicePixelRatio,看頁面對應的值。

retina 的macbook pro是 2.0

普清 的是1.0

方法一:

這時,可以能過chrome的移動端模擬功能,去看二倍圖的設置情況。

設置如下:

添加一個新的設備。

配置主要是裡面的device pixel ratio。只要大於你css里設置的最小device-pixel-ratio就成。

之後測試頁面的時候點擊這個選項。

下麵就是看是看頁面樣式了。

可以看出二倍的樣式順利讀取出來了。

優點:

1、移動端頁面的高度方法相同

2、不用找專門的高清retina屏設備

缺點:

1、無法對比一倍的圖和二倍圖之間的差別,視覺上不直觀。

2、和測試及產品無法解釋相關的原理性東西。

 

方法二:

直接按住ctrl+滑鼠滾輪上滾,或ctrl+'+',把瀏覽器的視口放大到150%以上。

這個時候,可以在控制台里輸入

window.devicePixelRatio

1.5

發現什麼了devicePixelRatio是1.5了。

同樣的可以讀取1.5及以上的適配代碼了。

但這個時候,有雙倍適配和沒有的,之間就可以清楚地看出來對比了。

優點:

1、方法更加直觀,可以重現在retina屏上的視覺觀感,可以重現上面bug的描述。

2、好給產品及測試解釋

3、設備要求低,普通電腦都可以用來開發和調試

缺點:

1、頁面放大後出現橫滾,整體頁面無法顯示全

 

總結:

設備硬體越來越好,以後說不定都要設計雙倍的圖標。

對於設計師水平高的,可以要求設計出矢量圖(IE低版本沒法)

也可以直接用字體做圖標(所有版本都支持,但也會出現連續模糊的問題)

想想之前那麼多頁面都要去適配,工作量很大,打開了潘多拉盒子的感覺。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • StatementHandler 語句處理器,主要負責語句的創建、參數的設置、語句的執行。不負責結果集的處理。 BaseStatementHandler 實現公共部分,具體差異通過抽象方法,留給子類實現。 首先語句級別的配置,其次配置文件中的配置。 首先語句級別的配置,其次配置文件中的配置。 Sta ...
  • Web前端技術的發展使得MVVM模式相比WPF時代更加流行,然而老舊的WinForms仍然占據桌面開發技術很大一部分,現在SOD框架提供了WinForms MVVM支持,老壇泡新菜,讓WinForms煥發新春。 ...
  • 數據存儲重要性: 數據是企業最重要的財產; 數據可靠性是企業的命根,一定要保證。 單機存儲原理: 存儲引擎:存儲系統的發動機,它決定存儲系統的功能和性能; 引擎類型:哈希存儲引擎、B樹存儲引擎、LSM存儲引擎 哈希存儲引擎:基於哈希表結構 :數組+鏈表;支持Create\Update\Delete\... ...
  • nginx是什麼? nginx是一個強大的web伺服器軟體,用於處理高併發的http請求和作為反向代理伺服器做負載均衡。具有高性能、輕量級、記憶體消耗少,強大的負載均衡能力等優勢。 nginx架構? 如上官方示意圖所示,nginx啟動以後,會在系統中以daemon的方式在後臺運行,其中包括一個mast ...
  • Bootstrap學習筆記系列3-------Bootstrap簡單表單顯示 ...
  • 1、拖放API中源對象與目標對象事件間的數據傳遞: ①創建全局變數——污染全局對象: var 全局變數=null; src.ondragstart=function(){ 全局變數=數據值; } target.ondrop=function(){ console.log(全局變數); } ②使用HT ...
  • 在HTML文檔的首部往往會有這麼一句話<!DOCTYPE html>,許多時候我們忽視了它的存在,它實際上是一個聲明,告訴瀏覽器用哪種HTML版本的規範來解讀HTML文檔。 儘管我們不給出這句聲明瀏覽器照樣會將HTML文檔呈現出來,但是由於HTML版本導致的bug也許就出在這裡。 常見的幾種doct ...
  • 前段時間同事給我說錘子科技的首頁特效非常驚艷,讓我看下,我一看果然炫酷http://www.smartisan.com. 在網上查了一下,有人說用的是這個插件https://github.com/ariona/hover3d,不過我這邊GITHUB上不去無法驗證。 還有查到是用了parallax這個 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...