je suivais ce tutoriel ici: https://cloudcannon.com/deconstructions/2014/11/15/facebook-content-placeholder-deconstruction.htmlCSS - animation infinie (mouvement à gradient de chargement à droite) scintille
pour créer un chargeur factice. Malheureusement ce tutoriel inclut des valeurs de pixels fixes et je veux que cela fonctionne sur des écrans de toutes tailles. donc j'ajusté l'animation comme ceci:
@keyframes placeHolderShimmer {
0% {
background-position: -30vw 0
}
100% {
background-position: 30vw 0
}
}
.c-animated-background {
animation-duration: 1.5s;
animation-fill-mode: forwards;
animation-iteration-count: infinite;
animation-name: placeHolderShimmer;
animation-timing-function: linear;
background: fff;
background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);
height: 100%;
width: 100%;
position: relative;
padding-top: 50px;
-webkit-backface-visibility: hidden
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body class="c-animated-background">
</body>
</html>
Malheureusement sur la fin de l'animation après 1.5s, la zone grise saute vers l'avant ou en arrière, en fonction des valeurs de position de keyframe-fond que je jeu . Comment puis-je empêcher cela et rendre la transition fluide? aussi, l'animation semble être plus intense sur la performance que je ne le pensais - quand je veux inspecter l'élément de fond en mode dev en chrome avec mon macbook 2016 ', il pend pendant environ 15 secondes. devrais-je utiliser une transition/animation de transformation à la place?
Voici un plunker: https://plnkr.co/edit/X8PBIUYmAC11LCUV9uTy?p=preview
Idéalement vous utiliseriez '' 100vw' et -100vw'. Bump la vitesse jusqu'à '5s' et c'est la même vitesse que ce que vous avez maintenant. [Exemple] (http://jsbin.com/jemigixuco/edit?html,css,output) – misterManSam
Merci @monManSam, votre réponse fonctionne mieux, mais c'est si simple. parfait! – Phil