Ici, le problème réside avec vos .content-container
classe wrapper, qui a un CSS déclaration d' webkit-transform: translate3d(0,0,0)
. La transformation de la déclaration, que cette réponse illustre, modifie le contexte de positionnement de la fenêtre d'affichage de la rotation de l'élément, ce qui signifie essentiellement que votre fixed
élément se comporte comme si elle était en position absolue. Voici un exemple montrant la différence entre un élément fixe à l'intérieur d'une transformée div
et un élément fixe à l'extérieur de l' div
.
.rotate {
transform: rotate(30deg);
background: blue;
width: 300px;
height: 300px;
margin: 0 auto;
}
.fixed {
position: fixed;
background: red;
padding: 10px;
color: white;
top: 50px;
}
<div class="rotate">
<div class="fixed"> I am fixed inside a rotated div.</div>
</div>
<div class="fixed"> I am fixed outside a rotated div.</div>
Pour que tout fonctionne, vous aurez besoin de retirer l' transform3d
déclaration d' .content-container
.