2015-06-14 18 views
5

próbuję umieścić element fixed wewnątrz innego elementu fixed jak tenZagnieżdżony elementem stałym nie działa w IE

<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> 

Kiedy przewijać stronę w Chrome i FF element-fixed pobyt fixed ale w IE przewija zbyt i myślę, że to nie powinno się zdarzyć, ponieważ element fixed znajduje się poza przepływem dokumentów.

Próbowałem wyciągnąć go z content, ale nie działał, wyciągając go z wrapper-fixed, ale robi to w moim przypadku, nie mogę.

HERE A JSFIDDLE podobna do mojej realnej sytuacji

Więc dlaczego tak się dzieje i jak to naprawić bez wyciągania go z wrapper-fixed

Dodawanie zdjęć do zilustrowania problemu:

enter image description here


enter image description here

+0

I nie można odtworzyć problemu z IE11. Która wersja daje takie zachowanie? – Teemu

+0

Próbowałem w IE9 i działa tak, jak tego oczekiwano. Edycja: nawet w IE8. –

+0

['naprawiono'] (https://msdn.microsoft.com/library/ms531140.aspx) jest obsługiwane od IE7 (wymaga jednak DTD). Czy uruchamiasz stronę w trybie Quirks? – Teemu

Odpowiedz

1

Wariant 1

Zmień swoją pozycję otoki do absolutnego

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

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

Opcji 2

nie będą odpowiednie, jak wymaga tego rozwiązania, które nie pociąga za sobą ściągnięcia elementu zamocowanego na stałe z opakowania.

Zmiana znaczników oraz dostosowanie pozycji do elementu utrwalonych

<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 - http://jsfiddle.net/vuykwu76/

+0

Dlaczego 'absolutny', jeśli OP chce' naprawiony'? – Teemu

+0

rodzic-rodzic-paker jest ciałem. To sprawia, że ​​zachowuje się podobnie do naprawionego. – potatopeelings

+0

Właściwie, widzę problem z skrzypkami OP (moja przeglądarka to IE 11.0.9600.17842). – potatopeelings