Textüberlaufverhalten in CSS mit nicht-linken Werten für text-align

7

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: Ссылка

    
Robin Whittleton 21.09.2010, 10:27
quelle

4 Antworten

8

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.

    
Gareth 21.09.2010, 10:33
quelle
11

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.

    
Olly Hodgson 21.09.2010 10:34
quelle
2

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)

    
Lukáš Fronc 10.09.2014 11:08
quelle
0

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.

    
Timo Huovinen 21.09.2010 10:37
quelle

Tags und Links