CSS-déplacer du texte de gauche à droite

Je veux créer une animation HTML "rectangle de sélection" qui défile en arrière et en avant sur un site web:

<div class="marquee">This is a marquee!</div>

et le CSS:

.marquee {
    position: absolute;
    white-space: nowrap;
    -webkit-animation: rightThenLeft 4s linear;
}

@-webkit-keyframes rightThenLeft {
    0%   {left: 0%;}
    50%  {left: 100%;}
    100% {left: 0%;}
}

Le problème est, la marquise ne s'arrête pas lorsqu'il atteint le bord droit de l'écran; il se déplace tout le chemin hors de l'écran (faire une barre de défilement horizontale apparaît brièvement) et puis revient.

Alors, comment puis-je faire la marquise s'arrêter quand son bord droit atteint le bord droit de l'écran?

EDIT: Bizarrement, cela ne fonctionne pas:

50% {right: 0%}
l'utilisation de javascript pour arrêter l'animation à l'aide d'une propriété css
comment le javascript de savoir quand arrêter l'animation?
Au lieu de gauche: 100%, il convient de gauche: 100% - ( number of characters in string * space taken by single character ) Maintenant, évidemment, vous ne serez pas faire de telles choses en css. Afin de mieux au lieu d'utiliser left ou right , utilisez margin-left ou margin-right.
Oui, mais ça ne fonctionne toujours pas, même si vous modifier mon code pour margin-left

OriginalL'auteur tanis.control | 2012-05-21