私はtransform: translateZ(0);
をモバイルフィックスとして使用します(私はdivを常にレンダリングする必要があります)。 transform
は別のコンテキストを作成し、今度はfixed
divの高さは、transform
がないため、ビューポートの高さではなく、親の高さに依存します。位置:固定と変換 - 通常の固定動作を返す方法?
私はtransform
が必要ですが、通常のfixed
の動作も必要です。私は何をすべきか?
私はtransform: translateZ(0);
をモバイルフィックスとして使用します(私はdivを常にレンダリングする必要があります)。 transform
は別のコンテキストを作成し、今度はfixed
divの高さは、transform
がないため、ビューポートの高さではなく、親の高さに依存します。位置:固定と変換 - 通常の固定動作を返す方法?
私はtransform
が必要ですが、通常のfixed
の動作も必要です。私は何をすべきか?
この「問題」についてChromeにバグレポートがたくさんありました。スティッキープラグインを書くときに同じ問題が発生しましたが、これは実際には正常な動作です。これは、transform
がW3 specsに従って独自の座標系を使用するためです。基本的には、要素は自身の固定された位置に対して固定された位置になります。残念ながら、これについて何もできません。文書に関連して -
解決策
あなたの問題を解決する方法は、「スティッキー」要素にabsolute
位置を与えることです。次に、JavaScriptを使用して要素の位置を変更します。線に沿って何か:
var element = document.getElementById('element');
window.addEventListener('scroll', function() {
requestAnimationFrame(setTop);
});
function setTop() {
element.style.top = window.pageYOffset;
}
あなたはまだ何の問題もなくtransform
プロパティを使用することができるしている一方で、それは、固定位置を持っているかのように要素の動作この方法です。
'translateZ(0)'を使用する理由を正確に説明してください。 – JasonK
'translateZ(0)'はChromeのAndroidからdivを適切に再描画します。 Chrome Androidのアドレスバーが表示されるか、または非表示になると、divに適切な高さが設定されます。 – user64675
固定位置に配置された要素に 'translateZ 'を使用することは中止です。私はあなたの問題に可能な解決策を追加しました。 – JasonK