12

この同様の質問に完全に答えた人はいません。

ストック Android ブラウザの画像がぼやける

そのため、自分の状況に固有の独自のバージョンを投稿します。

問題は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 Testing のロゴがぼやけていることに気付くでしょう。position:fixedから削除する#top-nav-containerと、ロゴがくっきりと鮮明になります。私の質問は、position:fixed鮮明なロゴと両方を維持するにはどうすればよいですか?

私の実際の Web サイトでは、サイトをスクロールしている間、上部のナビゲーションは固定されているはずです。スクロール時にトップ ナビゲーションの位置を変更するために JavaScript を使用してみposition:absoluteましたが、ジャンプやちらつきの効果が大量に発生しました。モバイル Web ブラウザーのトップ ナビゲーションを使用できない場合position:fixed、またはトップ ナビゲーションを修正できない場合、他にどのようなオプションがありますか? position:absolute他のモバイル Web サイトはどのようにしてこの結果を達成していますか?

追加情報:

画像のサイズ変更、ビューポートの変更、および位置の変更 (固定/絶対) についてさらに実験を行い、興味深い結果が得られました。下記参照:

  • 位置:背景なしのサイズをビューポートで固定 -あいまい
  • 位置:ビューポートなしの背景なしのサイズを固定 -くっきり
  • position:fixed background-size:20% with-viewport - fuzzy
  • position:fixed background-size:20% ビューポートなし -あいまい

  • 位置:背景なしの絶対サイズ、ビューポートあり -ファジー

  • position:absolute no-background-size without-viewport -鮮明
  • position:absolute background-size:20% with-viewport -鮮明
  • position:absolute background-size:20% ビューポートなし -くっきり

このチャートの読み方は次のとおりです。

  • 最初の列#top-nav-containerは、position:fixed または position:absolute を使用しているかどうかを示します

  • 2 番目の列は、使用background-size:20%したか省略したかを示します

  • 3 番目の列は、<meta viewport>タグを head に含めたかどうかを示します

  • 4 番目の列は、optix テストのロゴがぼやけているか鮮明であるかを示します。

結果を見ると、position:fixed を持つコンテナーで鮮明な画像が得られるのは、画像が background-size またはビューポートを使用して引き伸ばされたり圧縮されたりしていない場合のみであることがわかります。また、position:absolute を持つコンテナーであいまいな画像が得られるのは、画像が background-size とビューポートで引き伸ばされた場合のみです。

4

5 に答える 5

1

を使用するposition: fixedことは、モバイル デバイスではまだお勧めできません。圧倒的多数の Web サイトは、モバイル ビューの静的ヘッダーにフォールバックします (つまり、フローティング ナビゲーションバーはありません)。

この質問に示されているように、最近同様の問題が発生しました。

あなたのためのいくつかのリソース:

  • この問題について学ぶには、Quirksmode に関する次の記事をお読みください。
  • position: fixed次の表で、どのモバイル ブラウザーがサポートされているかを確認してください: http://caniuse.com/#search=fixed
于 2013-07-29T16:01:24.980 に答える
1

&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>

background-image をアイコンとして使用して div で固定アクションバーを作成するときにも、この問題が発生しました。しかし、そのアクション バーにテキストを追加すると、その背景画像が鮮明になります。したがって&nbsp;、アクション バーにテキストが必要ない場合は、テキストの代わりに追加するだけです。

下手な英語でごめんなさい:D

于 2014-09-01T19:37:05.937 に答える
-1
<div style="position:fixed;"><img/></div>
<div style="position:fixed;"></div><!--add it-->

上と同じように、「固定」の後に「固定」要素を追加します。

于 2013-12-10T10:49:41.387 に答える