Problème pour un code de défilement de texte

Fermé
Justin - 8 sept. 2022 à 13:22
 Rotor - 14 sept. 2022 à 10:48

Bonjour,

J'ai implanté ce code :

<div class="container">
    <span class="text t1"> &nbsp;&bull;&nbsp; fleurs &nbsp;&bull;&nbsp; huiles &nbsp;&bull;&nbsp; résines &nbsp;&bull;&nbsp;brownies &nbsp;</span>
    <span class="text t2"> &bull;&nbsp;tisanes &nbsp;&bull;&nbsp; cookies &nbsp;&bull;&nbsp; cartridges &nbsp;&bull;&nbsp; perles &nbsp;</span>
    <span class="text t3"> &nbsp;&bull;&nbsp; cvault &nbsp;&bull;&nbsp; pastilles &nbsp;&bull;&nbsp; kuff &nbsp;&bull;&nbsp; financier &nbsp;</span>
</div>

Il permet de faire défiler des mots séparés de points à l'infini, mais deux mots se resserrent à un moment (brownies et tisanes) ce qui fait que la boucle "bug" et saute à un moment.

J'ai un problème similaire avec la boucle de texte ci-dessous mais de manière moins prononcée :

<div class="container">
    <span class="text t1"> &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;</span>
    <span class="text t2"> &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;</span>
    <span class="text t3"> &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;&bull;&nbsp; @cbde.fr &nbsp;</span>
</div>

Merci à vous,

Cordialement,
 

Justin


Windows / Chrome 104.0.0.0

A voir également:

3 réponses

jordane45 Messages postés 38286 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 novembre 2024 4 698
8 sept. 2022 à 15:01

Bonjour,

Le html ne faisant pas de boucle ...  tu dois avoir à minima du CSS et/ou du Javascript lié à ceci.

Il faudrait aussi le partager ici.

NB: Merci d'utiliser l'icone qui sert à poster du code sur le forum afin que celui ci soit correctement lisible..


0

Exact!

Le CSS pour la première boucle :

.container{
    overflow:hidden;
    width: 100%;
    display: flex;
    /*transform: translateY(45%);*/
}

 .text{
    white-space: nowrap;
    animation: scrollTxt 4s linear infinite;
    color: white;
    font-size: 36px;
    font-family: poppins;
}

@media screen and (max-with: 1440px){
    .text{
        font-size: 24px;
    }
}

@keyframes scrollTxt{
    0%{
        transform: translate(0,0);
    }
    100%{
        transform: translate(-50%,0);
    }
}

Le CSS pour la deuxième boucle : 

.container{
    overflow:hidden;
    width: 100%;
    display: flex;
    /*transform: translateY(45%);*/
}

 .text{
    white-space: nowrap;
    animation: scrollTxt 4s linear infinite;
    color: white;
    font-size: 36px;
    font-family: poppins;
}

@media screen and (max-with: 1440px){
    .text{
        font-size: 24px;
    }
}

@keyframes scrollTxt{
    0%{
        transform: translate(0,0);
    }
    100%{
        transform: translate(-50%,0);
    }
}

Merci d'avance,

0

Bonjour,

Quelqu'un a-t-il une solution pour ce problème ?

Merci,

0

Salut,

qu'avez vous essayé?

à mon avis le problème vient d'utiliser des espaces insécable( ) ce qui n'est jamais une bonne idée pour une mise en page vu qu'un espace insécable est fait pour définir...un espace insécable(&nbsp= no breaking space) et non un positionnement.

Il serait plus logique et performant d'utiliser des marges à la place.

Pour répéter une animation plusieurs fois vous pouvez voir du côté de

animation-iteration-count:infinite;

Avec la méthode @keyframes vous pouvez faire plusieurs étapes d'animations CSS et répéter celles ci à l'infini.

https://developer.mozilla.org/fr/docs/Web/CSS/@keyframes

0