位置:ブラウザ/ウィンドウに絶対的であること
-
09-10-2019 - |
質問
それは私の理解です position: absolute
非静的な立場を持っている最初の親にとっては絶対的です。親が指定された位置がない場合、それはブラウザ/ウィンドウに絶対になります。
position: fixed
一方、ブラウザにとっては絶対的なものになりますが、Quirksモードの場合はIEでは機能しません。
私の問題は、私が何かになりたいということです top:0; left:0;
しかし、ウェブサイトはQuirksモードであり、私は個人的なDiv内でのみ編集します。 (MySpaceのようなユーザーWebサイトです)。持っている親の多いdivがたくさんあります position: relative
.
どうすれば入手することができますか position: absolute
のように振る舞う position: fixed
オブジェクトが静止する必要なく(必要に応じて静止する可能性があります)?
解決
IEの初期バージョンは、ポジションをサポートしないだけです。
私が知っている唯一のことは、そのようなJavacriptの回避策です:
var layerPadding = 5;
function layerScrollFixEx() {
if (layerGetScrollPosition() != (document.getElementById('layer').offsetTop - layerPadding)) {
document.getElementById('layer').style.top = layerGetScrollPosition() + layerPadding + "px";
}
}
function layerGetScrollPosition() {
if (typeof window.pageYOffset != 'undefined') {
return window.pageYOffset;
}
else if (typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') {
return document.documentElement.scrollTop;
}
else if (typeof document.body != 'undefined') {
return document.body.scrollTop;
}
}
layerScrollInterval = window.setInterval("layerScrollFixEx()", 1);
これは、これがまだ関連していたときにしばらく前に行ったコードからのコードの抜粋です。
所属していません StackOverflow