1

position: fixedすべての主要なブラウザーでサポートされる実装のための確実なソリューションはありますか?

IE で見るまでは、FF でのすべての問題を解決した最近のコードをとても誇りに思っていました。周りにはたくさんのハックがあるようですが、それらのいくつかは互いに矛盾しているようです...

ウィンドウを基準にしてページにいくつかの要素を配置する必要があります。

このコードは FF ではうまく機能しますが、IE ではうまく機能せず、v.9 でも機能します。ページをスクロールしても、要素は左上隅に固定されるはずです。IE では、ページ コンテンツとともに上にスクロールします。

#myElement{
    left:0;
    top:0;
    position:fixed;
    height:35px;
    width:290px;
    background-color: #f5f5f5;
    z-index: 999
}

ご協力いただきありがとうございます。

4

4 に答える 4

3

私が疑ったように、あなたはDOCTYPEIEをクァークズモードに送っている無効なものを使用しています。IEを標準モードに保つには、有効なを使用していることを確認する必要がありますDOCTYPE。したがって、HTML 4.01トランジショナルを使用する場合は、次のようにする必要があります。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

ただし、短くて単純なHTML5を使用しますDOCTYPE

<!DOCTYPE html>
于 2012-05-01T20:15:57.617 に答える
2

対応していないposition:fixedのはIE6のみで、メジャーなブラウザではありません。(ブラウザのサポートについては、こちらを参照してください。)

于 2012-05-01T19:53:29.107 に答える
0

position:relativeを使用してみてください。またはposition:absolute; position:fixedの代わりに; これらはIE9にあります。ただし、多くの場合、位置プロパティは望ましくない結果をもたらすため、私は常にそれをできるだけ避けることを好みます。Chrome/Webkitにも確認してください。

于 2012-05-01T20:15:44.447 に答える
-1

誰かがまだこの問題を抱えている場合。

スタイルシートに次のように入力します。すべてのブラウザは position:absolute を position:fixed でオーバーライドし、必要なものが得られます。IE 6 は > 演算子を理解しないため、position:fixed を認識せず、position:absolute を使用します。Web ページはすべてのブラウザーで使用できますが、IE6 ではそれほどきれいではありません。

htmltag
    {position: absolute;}

body>htmltag
    {position:fixed;}
于 2016-03-28T00:51:39.337 に答える