2013-06-27 128 views
11

沒有一個固定的原因,畫面模糊現象曾經相當回答了這個類似的問題,CSS位置:在Android瀏覽器

Blurry images on stock android browser

所以我要我自己的特定版本發佈到我的情況。

問題是,position:fixed導致子圖像元素在某些android瀏覽器中模糊。在我的情況下,它會導致運行Android 4.0的Galaxy Note v1的股票瀏覽器遇到此問題。其他人也對一些Galaxy S3說過同樣的話。這裏是我的代碼:

預覽@http://jl.evermight.net/blurryposition/

<!DOCTYPE html> 
<html> 
    <head> 
     <meta name="viewport" content="width=device-width, maximum-scale=1.0,initial-scale=1.0, user-scalable=no" /> 
    </head> 
    <body> 
     <div id="top-nav-container" 
     style=" 
     display:block; 
     top:0px; 
     position:fixed; 
     width:100%; height:5.2rem; 
     "> 
      <a style="background-image:url(logotest_big.jpg); 
      background-size:20%; 
      display:block; 
      width:500px; 
      height:200px; 
      "></a> 
     </div> 


    </body> 
</html> 

你會發現OPTIX測試標誌模糊不清,在第一。如果您從#top-nav-container中刪除position:fixed,則徽標清晰可見。所以我的問題是,我如何保持position:fixed和一個清晰的標誌?

在我的真實網站中,頂部的導航應該在瀏覽網站時保持不變。我嘗試使用position:absolute並使用javascript重新定位滾動上的頂部導航,但這導致了一大堆跳躍/閃爍效果。因此,如果我無法使用position:fixedposition:absolute將頂部導航固定到移動網絡瀏覽器頂部,我還有其他選擇嗎?其他移動網站如何實現這一結果?

附加信息:

我做了一些更多的試驗與調整圖像,改變視口,並改變位置是:固定/絕對和得出了一些有趣的結果。見下文:

  • 位置是:固定無背景尺寸與視口 - 模糊
  • 位置是:固定無背景大小而不視口 -
  • 位置是:固定背景 - 尺寸:20%與視口 - 模糊
  • 位置:固定的背景大小:20%,沒有視口 - 模糊

  • 位置是:絕對無背景尺寸與視口 - 模糊

  • 位置是:絕對無背景大小而不視口 -
  • 位置是:絕對背景尺寸:20%與視口 -
  • 位置是:絕對背景尺寸:20%,沒有視口 -

下面是如何讀這個圖表:固定或位置:是否#top-nav-container使用位置

  • 第一列狀態絕對

  • 秒列狀態,如果我使用 background-size:20%或如果我省略它

  • 第三列的狀態是否包含在頭部<meta viewport>標籤

  • 第四列的狀態是否optix測試標誌模糊或清脆。

結果看,你可以看到,唯一的一次,你得到一個清晰的圖像與具有位置的容器:固定是當圖像沒有被通過後臺尺寸拉伸或壓縮或或與查看端口。此外,您唯一一次使用具有position:absolute的容器來獲得模糊圖像時,圖像已被放大到具有背景大小和視口。

回答

0

代替用戶可擴展性=無將其更改爲用戶可擴展= 0

+0

是沒有效果 – John

-1
<div style="position:fixed;"><img/></div> 
<div style="position:fixed;"></div><!--add it--> 

添加一個「固定」元素,遵循「固定」,就像起來。

+0

就是在固定的元素後面緊跟一個固定的元素,就可以使圖片不模糊 – cieldon

+0

我試了下你的方法,可是還是不行。 –

+0

我發現我在一個項目裏用這個方法可以不模糊,但不適用於其他的項目。但是,在其他的項目找到找到了可以解決這個問題的關鍵點。所以我想我這個解決方案並不通用 – cieldon

1

add top &nbsp; top-nav-container中。

<div id="top-nav-container" 
    style=" 
    display:block; 
    top:0px; 
    position:fixed; 
    width:100%; height:5.2rem; 
    "> 
     <a style="background-image:url(logotest_big.jpg); 
     background-size:20%; 
     display:block; 
     width:500px; 
     height:200px; 
     "></a> 
     &nbsp; 
    </div> 

我使用背景圖片作爲圖標,格創建固定的動作欄時,得到了這個問題了。但是當我在該操作欄中添加文本時,該背景圖像變得清晰。所以我只需要添加&nbsp;作爲文本替換,如果我不想在我的操作欄上有任何文本。

對不起,我英文不好:d

0

試試這個:

img { 
    transform: scale(1) rotate(0) translate3d(0,0,0); 
}