Ich habe eine Website, auf der ich Text von der rechten Seite des Bildschirms nach links verschieben muss. Der Text ändert sich ständig in der Länge, so dass ich nicht einfach eine Breite hart codieren kann, um das zu erreichen, was ich will.
Ich habe versucht, einen Übergang durchzuführen, aber wenn ich von rechts nach links gehe, funktioniert er nicht mehr. Ich habe eine einfache jsfiddle geschrieben, um mein Problem zu demonstrieren und wie ich versucht habe, es zu lösen. Das erste div zeigt, wie es funktionieren sollte, aber ich brauche den Text, um nach links statt nach rechts auszurichten (die Eigenschaft text-align funktioniert nicht mit meinem vollständigen Code). Der zweite Teil zeigt Ihnen das tatsächliche Ergebnis dessen, was passiert, wenn ich nach links übergehe.
https://jsfiddle.net/h12wrm1n/
$("#right").on("click", function () {
$("#right").toggleClass("active");
});
$("#right2").on("click", function () {
$("#right2").toggleClass("active");
});
.right, .right2{
width: 300px;
position: absolute;
right: 20px;
transition: .5s
}
.right2{
top: 100px;
}
.right.active{
right: 200px;
}
.right2.active{
left: 20px
}
<div id="right" class="right">This is some text</div>
<div id="right2" class="right2">This is some text</div>
Wie kann ich den Übergang von rechts nach links durchführen lassen, wenn ich die Breite meines Textes nicht kenne? Bitte beachten Sie auch, dass die Seite reagiert.
Eine Möglichkeit wäre, einen Container für das Element mit dem Text zu verwenden. Und übersetzen Sie sowohl den Container als auch das innere Element.
Einzelheiten finden Sie im Snippet. Wenn Sie auf dem Körper schweben, wird die Transformation ausgelöst. Ich habe eine Farbe für den Behälter festgelegt, damit Sie besser sehen können, was gerade passiert
body {
width: 300px;
border: solid 1px red;
margin: 30px;
}
.container {
width: 100%;
background-color: lightblue;
transform: translateX(100%);
}
.test {
display: inline-block;
transform: translateX(-100%);
}
body:hover .container {
transform: translateX(0%);
}
body:hover .test {
transform: translateX(0%);
}
.container, .test {
transition: transform 1s;
}
<div class="container">
<div class="test">Text</div>
</div>
<div class="container">
<div class="test">longer.............. text</div>
</div>
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen