完全な修正を修正

Shitov(Lebedev Studio)記事には、完全に機能する修正が記載されています。
私の手はそのような固定されたものの作成に到達し、提案されたソリューションを使用することに決めました。
しかし、うまくいきませんでした。 私は記事のソースコードを研究し始め(それはそこで機能します)、最終的には問題がDOCTYPEにあることがわかりました。 ご存知のように、レベデフは彼にそれを付けましたが、私はそれを書きました。 彼はIEで修正をオフにしました。


最初のオプション癖に戻る

doctypeを指定すると、概念全体がtartararaで飛びます。 コードが有効であることを確認し、すべてが機能することを確認します(外国のGoogleで2時間後)。
Doctypeの前に空白のHTMLコメントを入れます。 この場合:
1. w3cバリデーターは、コードが正しいと言います。
2. Ognennolisはdoctypeを認識し、それに応じて動作します。
3. IEはバカです-最初の行でdoctypeを見つけられず、互換モードに入ります。 修正された作品。
4コンピューター上のOperaは価値がありません-何も言わないでしょう。

DOCTYPEに転送する2番目のオプション

なぜこれが起こっているのですか?
すべてがいつものように非常に簡単です。 Shitovはdocument.body.scrollTopを使用します 。 ちなみに、ほとんどのインターネットユーザーは、Yandexが検索でそのような言葉だけを使用していた限り(そしてJSプログラマーもインターネットで教えてくれたので、哲学的側面に入らずにw3c標準に従うことについて本質的に言うことができます) )
IE準拠モードでは、オブジェクトモデルが変更されるため、 document.documentElement.scrollTopを使用する必要があります。
確認済み。
コード
body{
padding:5em 0 0 0;
}
h1{
position:fixed;
_position:absolute;
top:0;
_top:expression(eval(document.documentElement.scrollTop));
left:0;
margin:0;
padding:0;
background:lime;
}

h1-真上にありますが、現在はDOCTYPEのみ

Source: https://habr.com/ru/post/J9366/


All Articles