Maison >interface Web >tutoriel CSS >Comment puis-je créer un effet de sélection réactif qui gère des longueurs de texte variables ?

Comment puis-je créer un effet de sélection réactif qui gère des longueurs de texte variables ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-05 22:50:11745parcourir
<p>How Can I Create a Responsive Marquee Effect That Handles Variable Text Lengths?

Effet de sélection : résoudre l'énigme de la variabilité de longueur

<p>Dans ce scénario, nous nous efforçons de créer un effet de sélection avec des longueurs de texte dynamiques. Traditionnellement, cela était réalisé en utilisant des valeurs spécifiques pour les propriétés CSS telles que « margin-left ». Cependant, cette approche ne suffit pas lorsque l'on travaille avec des textes de longueurs variables.

<p>Heureusement, il existe une solution qui libère notre chapiteau de ces limitations. En apportant un léger ajustement à notre code HTML et en ajoutant un élément span dans notre paragraphe, nous débloquons une solution plus adaptable :

<p>
<p>Ensuite, nous définissons des règles CSS pour les classes "marquee" et "span". . La classe "marquee" définit la largeur et le style du paragraphe, tandis que la classe "span" gère l'animation du texte :

.marquee {
  width: 450px;
  margin: 0 auto;
  overflow: hidden;
  box-sizing: border-box;
}

.marquee span {
  display: inline-block;
  width: max-content;
  padding-left: 100%;
  will-change: transform;
  animation: marquee 15s linear infinite;
}
<p>Cet ajustement pour "width" et "padding-left" permet au chapiteau de s'adapter à des textes de longueurs variables, en garantissant un défilement fluide sans tronquer aucun contenu.

<p>Cependant, il y a une dernière nuance que nous devons aborder : l'accessibilité et les préférences de l'utilisateur. Pour les utilisateurs qui préfèrent un mouvement réduit, nous appliquons des règles de requête multimédia pour ajuster le comportement de l'animation. Cela garantit que le chapiteau respecte les préférences de l'utilisateur :

@media (prefers-reduced-motion: reduce) {
  .marquee span {
    animation-iteration-count: 1;
    animation-duration: 0.01;
    width: auto;
    padding-left: 0;
  }
}
<p>En mettant en œuvre ces modifications, nous obtenons un effet de chapiteau qui s'adapte gracieusement à la longueur du texte tout en respectant également les préférences de l'utilisateur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn