Gegeben der folgende HTML:
%Vor%Und das folgende CSS:
%Vor%Was wäre das erwartete Rendering? Ich hatte erwartet, dass der Text gegen die rechte Seite des Para stößt und nach links überläuft. Beobachtete Ergebnisse in Fx / Safari / Opera stoßen den Text nach links und überlaufen ihn nach rechts. Das gleiche Problem wird bei text-align beobachtet: center; Ich würde erwarten, dass der Text auf beiden Seiten gleichmäßig überläuft.
CSS2.1 und CSS3 Text scheinen das Rendering nicht zu spezifizieren.
Testlink: Ссылка
Der Abschnitt " Inline-Formatierungskontext " der CSS 2.1-Spezifikation besagt:
Wenn die Gesamtbreite von Inline Kästchen in einer Zeile sind kleiner als die Breite der Zeile Box, die sie enthält, ihre horizontale Verteilung innerhalb der Zeilenfeld wird von der Eigenschaft 'text-align' Wenn das Eigenschaft hat den Wert 'justify', die Benutzeragent kann Leerzeichen und Wörter in Inline - Boxen (außer für Inline-Table- und Inline-Block-Boxen) auch.
Wenn eine Inline-Box die Breite überschreitet einer Linienbox ist es aufgeteilt in mehrere Boxen und diese Boxen sind verteilt über mehrere Zeilenfelder. Wenn eine Inline-Box nicht geteilt werden kann (Wenn z. B. die Inline-Box a einzelnes Zeichen oder sprachspezifisch Wortbruchregeln verbieten eine Pause innerhalb der Inline-Box oder wenn die Inline-Box wird von a beeinflusst Leerraumwert von nunrap oder pre), dann läuft die Inline-Box über die Linie Box.
Die Eigenschaft text-align
wird nur in Fällen verwendet, in denen die Zeilenlänge kleiner als die Blockbreite ist. Wenn das Linienfeld breiter ist als das umgebende Element, wird die text-align
-Eigenschaft nicht berücksichtigt.
Ich konnte das Ergebnis erzielen, nachdem Sie die Richtungseigenschaft verwendet haben, z. B.
%Vor%Das funktionierte in den aktuellen Versionen von Firefox, Safari und IE.
Sie können eine Begrenzungsgröße für den äußeren Umschlagcontainer erstellen und inneres Element, das Inhalt nach rechts schwebt, wie:
HTML:
%Vor%CSS:
%Vor%In Reaktion auf Olly Hodgsons Idee:
%Vor%wirft Interpunktion vom Satzende (von rechts) als erstes Zeichen (nach links) (Google Chrome v. 38)
Oh, ich habe das schon einmal gesehen. Das align: right wirkt sich nur auf den Inhalt innerhalb der Box aus, jeder Überlauf ist IMMER links ausgerichtet, nur die Umkehrung der Richtung des Textes mit "direction" kann das ändern.
Tags und Links css overflow text-align