Donc le site en question: http://kaye.at/baby
Le contenu principal ci-dessous défile vers le haut du compte à rebours et sous la navigation, qui sont tous deux des éléments fixes. Cela fonctionne bien sur le bureau, mais sur le safari mobile, le contenu défile derrière le compte à rebours lorsque l'utilisateur se déplace vers le haut, mais une fois que le toucher est relâché, il apparaît devant.
Vous vous demandez simplement s'il s'agit d'un bug ou si quelque chose peut être corrigé?
Voici le CSS:
#header { position: fixed; width: 100%; top: 0px; z-index: 10; }
#content { width: 100%; position: relative; top: 650px; z-index: 7; }
#banner { position: fixed; width: 100%; position: fixed; background: url('http://kaye.at/baby/img/stork.jpg') no-repeat center bottom #fff; padding-top: 185px; z-index: 1; }
#defaultCountdown { max-width: 70%; height: auto; }
Et HTML (structure principale):
<div id="header">
<div id="nav">
<ul>
<li><a class="active" href="index.php">START</a></li>
<li><a href="ultrasound-images.php">ULTRASOUND PICS</a></li>
<li><a href="pinkorblue.php">PINK OR BLUE?</a></li>
</ul>
</div>
</div>
<div id="banner">
<div id="defaultCountdown"></div>
</div>
<div id="content">
</div>
Super étonnant. Je n'ai eu qu'à ajouter:
-webkit-transform: translate3d(0,0,0);
à la div #content.
Pour Mobile Safari, il vaut mieux éviter d'utiliser la position: fixe
Assurez-vous d'utiliser un tel CSS pour votre conteneur de défilement et tous les enfants à l'intérieur
.scrolling-container {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.scrolling-container .child-element {
position: relative;
-webkit-transform: translate3d(0,0,0);
}
Si vous postulez #banner {z-index:-1}
et body {background:transparent}
votre problème doit être résolu.