簡體   English   中英

CSS背景圖像在iPhone上呈現不同

[英]CSS background image rendering differently on iPhone

我們的頁面設計在我嘗試過的每個PC瀏覽器中都很有效,但在使用iPhone或iPod Touch查看時卻很奇怪。

問題與中心背景圖像有很大關系:

#content_container
{

background-image:url('content-background.jpg');
background-position:top center;
background-repeat:no-repeat;
width:1020px;
height:auto;
}

content-background.jpg圖像非常高(3000像素),並且由於內容的原因而被設計為“透露”它正在增長的DIV。

你必須看一下頁面和完整的CSS來理解,所以我已經從設計中剝離了所有其他東西,並用這個例子重新產生了問題:

http://files.codeulike.com/static/cssexample/example.htm
(例子由1個html文件,1個css文件和3個圖像組成)

你會看到在IE8,Firefox,Chrome中你會得到一個漂亮的綠色框。 但是在iOS瀏覽器中,長薄的背景圖像會被重新縮放,一切都變得奇怪。

(我正在使用iPod Touch第二代,但我認為在其他iPhone / iPod touch中會出現同樣的問題)。

任何幫助非常感謝!

弄清楚:iPhone對Jpegs有百萬像素的限制,之后它縮小了Jpeg。

在defusion.org.uk上有關於此的非常好的博客文章: http//www.defusion.org.uk/archives/2010/02/19/shrinking-large-background-image-bug-in-iphone-safari /

Jpegs縮小之后的限制似乎是大約2百萬像素。 它是一個記錄的iOS資源限制,在此處描述:

Apple - 創建兼容的Web內容 - 了解iOS資源限制

使用子采樣,JPEG的最大解碼圖像尺寸為3200萬像素。

由於子采樣,JPEG圖像可以達到3200萬像素,這使得JPEG圖像可以解碼為像素數量的十六分之一。 大於2百萬像素的JPEG圖像被二次采樣 - 即,解碼為縮小的尺寸。 JPEG子采樣允許用戶查看來自最新數碼相機的圖像。

..我認為正常顯示2百萬像素以下的Jpegs,通過二次采樣(收縮)顯示2到32百萬像素之間的Jpegs,並且可能根本無法顯示超過32百萬像素的Jpegs。

更改我的網站以使用低於2百萬像素的背景圖像解決了這個問題。

當我寫這篇文章時,我意識到這篇文章已有兩年了,但我嘗試了一些有用的東西,也許不是最好的方法,但它解決了我的問題。

第一步是將我的背景圖像保存為完全解決問題的.png ...除了是一個1200px x 12000px的背景圖像,.png文件是一個怪物。

所以,我在Photoshop中打開了.png文件並將其保存為優化的網頁和設備作為.jpg並上傳該文件,它就像iPhone上的魅力和所有五大瀏覽器一樣。

希望有所幫助!

不太正確,我有一個背景1640x1200(sub 2Mpix),背景縮小......:S

如果你保留了

background-attachment: fixed;

在桌面CSS文件中,然后記住它將其更改為

background-attachment: scroll;

在移動CSS文件中。 如果沒有這樣做,它將顯示意想不到的效果。

我使用了Safaris CSS3多個背景圖像來解決這個問題,只做了4張高500像素的圖像並將它們放在彼此的頂部

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM