2

background-attachment:fixed を使用しているときに、Retina 画面でのみ Chrome が背景画像をレンダリングする方法に問題があることがわかりました。Firefox と Safari は意図したとおりに動作します。また、[開発者ツール] > [コンソール] > [レンダリング] の [継続的なページの再描画を有効にする] ボックスをクリックすると、Chrome で動作するようになることにも気付きました。ただし、これを有効にすると、重大なパフォーマンスの問題も発生します。background-attachment:fixed から background-attachment:scroll に変更すると、画像は正常にレンダリングされますが、意図した効果が失われます。

これを回避するための提案はありますか?それとも、Retina デバイスの Chrome をターゲットにして機能を無効にする必要がありますか?

スクリーンショット付きの問題へのリンクは次のとおりです。

https://code.google.com/p/chromium/issues/detail?id=366012

4

1 に答える 1

0

私は同じ問題を抱えていました、これを試してください:

デモはこちらhttp://jsfiddle.net/dN4S4/493/

body{
    padding: 0;
    margin: 0;
}

#main{
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

#fixedElement{
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility:hidden;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    margin:auto;
    z-index: -1;
    display: block;
}


.fullWidthImage{
    background: url("http://s.camptocamp.org/uploads/images/1255459227_450187593.jpg") no-repeat center center;	
    -webkit-background-size: 100%; 
    -moz-background-size: 100%; 
    -o-background-size: 100%; 
    background-size: 100%;
    background-size: cover;
    -webkit-background-size: cover; 
    -moz-background-size: cover; 
    -o-background-size: cover;			
    overflow: hidden;
    width: 100%;
    height: 100%;		
    margin: 0;	
    padding: 0;
    position: relative;
}


.bottom{
    position: relative;
    top: 500px;
    width: 100%;
    height: 800px;
    background-color: purple;
    margin: 0;
    padding: 0;
}
<div id="main">
    <div id="fixedElement">
        <div class="fullWidthImage">
        </div>
    </div>
    <div class="bottom">
    </div>
</div>

于 2015-07-21T22:02:41.640 に答える