2015-06-14 8 views
5

Ich versuche, wie diesNested festes Element nicht in IE arbeitet

<div class="wrapper-fixed"> 
    <div class="content"> 
     <div class="element-fixed"> 
      <p>I'm fixed in Chrome, FF</p> 
      <p>Why not in IE ?</p> 
     </div> 
    </div> 
</div> 

ein fixed Element innerhalb eines anderen fixed Elemente zu setzen, wenn ich die Seite in Chrome blättern und FF element-fixed Aufenthalt fixed aber in IE es scrollt zu und ich denke, das sollte nicht passieren, weil ein fixed Element außerhalb des Dokumentflusses ist.

Ich versuchte es aus der content herausziehen, aber nicht funktioniert, zieht es aus wrapper-fixed es tut, aber in meinem Fall kann ich nicht.

HERE A JSFIDDLE ähnlich wie meine wirkliche Situation

Warum das passiert und wie es zu beheben, ohne es aus wrapper-fixed

zu ziehen Bilder zur Veranschaulichung des Problems Hinzufügen:

enter image description here


enter image description here

+0

Ich kann Ihr Problem mit IE11 nicht reproduzieren. Welche Version gibt dir dieses Verhalten? – Teemu

+0

Ich versuchte es in IE9 und es funktioniert auch wie erwartet. Edit: sogar in IE8. –

+0

['fixed'] (https://msdn.microsoft.com/library/ms531140.aspx) wird seit IE7 unterstützt (erfordert jedoch DTD). Läuft die Seite im Quirks-Modus? – Teemu

Antwort

1

Option 1

Ihre Wrapper Position ändern, um absolute

.wrapper-fixed{ 
    position: absolute; 
    ... 

Fiddle - http://jsfiddle.net/za4hdmpf/

Option 2

nicht geeignet ist, da dies eine Lösung erfordert, dass beinhaltet nicht ziehen Element fixiert aus der Verpackung fixiert.

Markup und Position an Anpassungen an Ihrem Element fest

<div class="wrapper-fixed"> 
    <div class="content"> 
     <p>Content</p>   
     <p>Content 1</p>   
     <p>Content 2</p> 
     <p>Content 3</p>   
     <p>Content 4</p> 
     <p>Content 5</p>   
     <p>Content 6</p> 
     <p>Content 7</p> 
     <p>.</p> 
     <p>.</p> 
     <p>.</p> 
    </div> 
</div> 

<div class="element-fixed"> 
    <p>I'm fixed in Chrome, FF</p> 
    <p>Why not in IE ?</p> 
</div> 

CSS

.element-fixed{ 
    position: fixed; 
    width: 170px; 
    border-radius: 10px; 
    top: 70px; 
    left: 50%; 
    margin-left: -290px; 
    background-color: #fff; 
} 

Fiddle machen - http://jsfiddle.net/vuykwu76/

+0

Warum "absolut", wenn OP "fest" will? – Teemu

+0

der Elternteil des Wrapper-Fixed ist der Körper. Dadurch verhält es sich ähnlich wie behoben. – potatopeelings

+0

Eigentlich kann ich das Problem mit OPs Geige sehen (mein Browser ist IE 11.0.9600.17842). – potatopeelings

Verwandte Themen