Gibt es eine Möglichkeit, Buchstaben langsam per CSS zu Text hinzuzufügen? [closed]
Lesezeit: 6 Minuten
amitava mozumder
Ich möchte ein Wort anzeigen (angenommen, langsam), gibt es eine Möglichkeit, zuerst “langsam” anzuzeigen und dann durch CSS-Animation ein paar O’s in der Mitte hinzuzufügen, wodurch es von langsam zu langsam wird.
Ich verwende das neueste Chrome, daher sind alle CSS3/HTML5-Funktionen willkommen.
Bin ich der einzige, der nur die Hälfte sieht? o Sobald die Animation fertig ist? Safari 12 / MacOS Mojave … – Jup, es funktioniert gut auf Chrome, aber aus irgendeinem seltsamen Grund nicht auf Safari ….
– etwas hier
23. Oktober 2018 um 7:28 Uhr
@somethinghere Es wird noch seltsamer: Auf iOS (neuesten) funktionierte es beim ersten Ausführen des Snippets einwandfrei, aber danach wurde jedes Mal, wenn ich auf die Schaltfläche „Run Snippet“ drückte, nur noch ein halbes o angezeigt.
– 11684
23. Oktober 2018 um 11:53 Uhr
Das ist, weil 3rem ist der falsche Weg, um die Breite des Textes zu berechnen. Die tatsächliche Breite hängt von der Schriftart ab. Auf meinem Computer verwendet Chrome Times New Roman und funktioniert gut, aber Firefox verwendet Liberation Sans, was fehlschlägt.
– isanae
23. Oktober 2018 um 13:38 Uhr
@isanae Ich glaube nicht, dass es das ist – Safari verwendet Times New Roman und die 3rem bezieht sich eigentlich auf die :root Größe, die (unverändert) etwa 16 Pixel (rem hat nichts mit den Größen in der Schriftart zu tun, es ist nur relativ zu einer Pixelgröße, die entweder an der Wurzel (rem) oder beim ersten übergeordneten Element, das es definiert (em)). Versteh mich nicht falsch, das könnte es sein, aber es ist trotzdem seltsam.
– etwas hier
23. Oktober 2018 um 14:04 Uhr
@somethinghere Die Schriftgröße kann in den Browsereinstellungen festgelegt werden. Wenn es 16px drin ist <html>dann 3rem bedeutet 3*16, also 48 Pixel. Sechs o‘s in Times 16px ist in der Tat genau 48 Pixel, weshalb es hier meiner Meinung nach verwendet wird, da Times oft die Standardschriftart ist, wo keine angegeben ist (und Stack-Snippets-Iframes im Grunde kein CSS haben). Wenn Ihre Schriftart nicht Times ist, ist die Breite möglicherweise falsch. Befreiung bei 16px benötigt zum Beispiel 54 Pixel für sechs o‘s.
– isanae
23. Oktober 2018 um 14:16 Uhr
etwas hier
Sie könnten alle zusätzlichen hinzufügen oist wie <span> Elemente und animieren Sie sie dann alle nacheinander mit :nth-child um sie einzeln auszuwählen:
Unter Windows und Firefox sind die zusätzlichen “o” nach oben versetzt, wobei ihre Spitze am oberen Ende des S und l und ihre Grundlinie ungefähr in der Mitte des ersten o liegt.
– Tom
23. Oktober 2018 um 10:00 Uhr
@tom Muss es Firefox geben, wo inline-block bedeutet ‘lasst uns das nicht an der Linie ausrichten’; nichts das vertical-align: bottom behebt nicht, aber warum FF sich besonders verhalten muss, weiß Gott.
– etwas hier
23. Oktober 2018 um 11:09 Uhr
jetzt wird es richtig angezeigt.
– Tom
23. Oktober 2018 um 11:38 Uhr
Nur zum Spaß, hier ist eine Lösung in echtem reinem CSS (dh nur ein einziges HTML-Element erforderlich), mit der content CSS-Eigenschaft:
Ich bin mir nicht sicher, aber suchen Sie danach? codepen.io/geoffgraham/pen/jrWwWM Art der Animation?
– HTML CSS Hupp Technologies
23. Oktober 2018 um 7:20 Uhr