michaah: webkitbrowser richten rechts je nach "br" verwebdung unterschiedlich aus

Hi,

je nachdem wie man im Quelltext ggf. ein "<br />" Tag setzt, am Ende der betreffenden Zeile oder (aus Gründen der Lesbarkeit) am Anfang einer neuen Zeile rendern Webkitbrowser (hier Chromium und Vivaldi) rechtsausgerichteten Text unterschiedlich (nicht alle Zeilenenden bündig). In diesem Verhalten unterscheiden sie sich vom FF und alten Operas (12.16), alles unter Debian/Linux (Sid).

Meiner (in html/CSS Fragen nicht sonderlich fundierten) Meinung nach sollte sich ein Return im Quelltext auf absolut nichts auswirken, tut es in diesem Fall aber bei Webkit basierten Browsern.

Bevor ich ein Bugreport absetze möchte ich jedoch hier maßgeblichere Äußerungen dazu hören, bzw. erfahren ob dies vielleicht schon bekannt ist:

<!DOCTYPE html>
<html>
<head>
<style>
p {
                  color: black; 
                  padding: 0 47% 0 0; 
                  text-align: right;
                  }

</style>
</head>


<body>
<p>"br" in neuer zeile:
<br />
"br" in neuer zeile:
<br /> 
"br" in neuer zeile: 123
<br />
"br" in der gleichen zeile: Wort<br />
"br" in der gleichen zeile: noch ein Wort<br />
"br" in der gleichen zeile: 1234 567 890<br />
"br" in der gleichen zeile: 1<br />
"br" in der gleichen zeile: 12<br />
"br" in neuer zeile: 134
<br />
</p>
</body>
</html>
  1. Moin!

    Bekannt nicht, ich kann es aber für Chromium, Version 43.0.2357.130 Ubuntu 14.04 (64-bit), bestätigen. Und es sieht wie ein Bug aus, denn wenn das <br /> auf der nächsten Zeile steht wird offenbar ein Leerzeichen dargestellt. Man kann es markieren!

    Jörg Reinholz

  2. Hallo

    Meiner (in html/CSS Fragen nicht sonderlich fundierten) Meinung nach sollte sich ein Return im Quelltext auf absolut nichts auswirken,

    Theoretisch ja, praktisch nein. Das ist aber schon lange bekannt und wohl auch kein Bug. Unter Win7 im FF und IE tritt das Verhalten auch auf.

    Die meisten User merken nur nichts davon, weil der rechte Rand kaum interessiert.

    Bekannt ist das Verhalten aber zum Beispiel bei Inline-Block-Elementen.

    Bei einem Zeilenumbruch im Quelltext passen die nicht nebeneinander in einen pixelgenauen Container, weil sie das rechte Leerzeichen mitbekommen. Werden die Inline-Block-Elemente aber im Quelltext ohne Zeilenumbruch geschrieben entfällt das Leerzeichen und die Größe passt.

    Das Verhalten ist also schon lange bekannt.

    Gruss

    MrMurphy

    1. Tag,

      Theoretisch ja, praktisch nein. Das ist aber schon lange bekannt und wohl auch kein Bug. Unter Win7 im FF und IE tritt das Verhalten auch auf.

      Was für ein FF ist das? Ich kann den Fehler selbst mit einem Seamonkey (wird meinem Wissen nach in der Regel auf Basis von abgehangenen FF Quellcode erstellt) nicht wiederholen.

      Die meisten User merken nur nichts davon, weil der rechte Rand kaum interessiert.

      Naja, beim rechtsbündigen ausrichten ist es genau das was interessiert.

      Aber ok, wenn man es weiß ist es nur ein kosmetischer (weil leicht umgehbarer), aber eben nicht nur theoretischer, sondern praxisrelevanter Bug.

      Und ein <br /> am Zeilenende als Leerzeichen zu rendern ist immer ein Bug, ich versteh gar nicht was daran richtig sein kann. Danke, Jörg, für diesen Hinweis.

      Ciao.

      MH

      1. Hallo,

        Die meisten User merken nur nichts davon, weil der rechte Rand kaum interessiert.

        Naja, beim rechtsbündigen ausrichten ist es genau das was interessiert.

        ja, klingt logisch. Aber auch bei linksbündigem Text stört mich der Effekt immer wieder - dann nämlich, wenn ich Text aus dem Browser markiere und in einen gewöhnlichen Editor kopiere. Ich finde es störend, dass dann fast jede Zeile mit einem Leerzeichen endet.

        Den umgekehrten Fall habe ich, wenn das <br> im Quellcode am Zeilenende notiert wurde: Dann beginnt jede Zeile im Editor mit einem Leerzeichen. Auch nicht schön.

        Aber ok, wenn man es weiß ist es nur ein kosmetischer (weil leicht umgehbarer), aber eben nicht nur theoretischer, sondern praxisrelevanter Bug.

        Wie umgehbar? Meines Wissens nur, indem man auf Whitespace vor und nach dem <br> verzichtet und beispielsweise als <br
        > notiert, den Zeilenumbruch also innerhalb des Tags setzt. Schön ist das aber nicht.

        Und ein <br /> am Zeilenende als Leerzeichen zu rendern ist immer ein Bug

        Missverständnis: Nicht das <br> oder <br /> wird als Leerzeichen gerendert, sondern der Zeilenumbruch davor oder danach. Und das ist völlig korrekt, wenn auch hier unerwünscht.

        So long,
         Martin

        1. Wie umgehbar? Meines Wissens nur, indem man auf Whitespace vor und nach dem <br> verzichtet und beispielsweise als <br
          > notiert, den Zeilenumbruch also innerhalb des Tags setzt. Schön ist das aber nicht.

          Ok, ich habe bis hier das gesamte Ausmaß des Bugs nicht vollständig verstanden. Mir ist das eben nur im Zusammenhang mit dem rechtsbündigen Ausrichten aufgefallen, und da eben auch nur weil ich im Quellcode das br Tag uneinheitlich (mal am Zeilenende, mal erst in der neuen Zeile) gesetzt hatte. Zumindest die unerwünschte Treppenausrichtung kann man durch einheitliche Verwendung von br umgehen, was den Bug für meinen Fall etwas weniger störend macht.

          Das beseitigt natürlich nicht den Bug als solchen.

      2. Tach,

        Aber ok, wenn man es weiß ist es nur ein kosmetischer (weil leicht umgehbarer), aber eben nicht nur theoretischer, sondern praxisrelevanter Bug.

        Und ein <br /> am Zeilenende als Leerzeichen zu rendern ist immer ein Bug, ich versteh gar nicht was daran richtig sein kann. Danke, Jörg, für diesen Hinweis.

        es ist ein Bug, allerdings anders als du glaubst, wird nicht das br-Element als Leerzeichen gerendert sondern der Whitespace, den du eingefügt hast, nämlich der Zeilenumbruch; allerdings sollte der nach der CSS-Spec entfernt werden: „A sequence of collapsible spaces at the end of a line is removed.“ — http://www.w3.org/TR/css3-text/#white-space-phase-2

        mfg
        Woodfighter