Animation CSS avec affichage : aucun dilemme
Lorsque vous travaillez avec des animations CSS, vous pouvez rencontrer des situations dans lesquelles vous souhaitez qu'un div s'y glisse plus tard tandis que d'autres éléments remplissent initialement son espace. Cependant, si vous définissez le div animé sur display: none, il continue d'occuper de l'espace et empêche les autres éléments de circuler correctement.
Pour résoudre ce problème, vous avez besoin d'un moyen de vous assurer que le div animé ne fonctionne pas. ne prend pas de place jusqu'à l'heure indiquée pour apparaître. Bien que vous puissiez envisager d'utiliser jQuery, cet article se concentre sur une solution purement CSS pour un timing plus fluide et contrôlé.
Codage en dur de la hauteur
La clé réside dans le codage en dur de la hauteur de le div animé. De cette façon, il réserve l'espace nécessaire sans se rendre visible. Vous pouvez ensuite utiliser des animations CSS pour modifier sa hauteur au moment opportun.
Par exemple, considérons le code suivant :
#main-image { height: 0; overflow: hidden; transition: height 1s ease 3.5s; }
Animation avec images clés
Une fois la hauteur fixée, vous pouvez utiliser des images clés pour animer son changement. Voici un exemple :
#main-image.fadeInDownBig { height: 300px; }
Dans cet exemple, la classe fadeInDownBig est appliquée au div de l'image principale au moment souhaité, déclenchant la transition vers sa hauteur prévue.
Prise en charge et démo du navigateur
Cette solution CSS uniquement fonctionne bien dans les navigateurs modernes. Vous pouvez voir une démo en direct sur le lien suivant :
- http://jsfiddle.net/duopixel/qD5XX/
En utilisant ceci technique, vous pouvez réaliser des animations CSS fluides sans les pièges de l'affichage : aucun, garantissant que vos divs se déroulent de manière transparente comme prévu.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!