Christoph Schnauß: Ist <br /> formatierbar?

hallo Forum,

ich bleibe bei einem Projekt am Zeilenumbruch - <br /> (oder auch <br>) - ganz einfach "hängen". Natürlich ist es wieder einmal der IE6. Alle anderen können mit "line-height" dem Umbruch eine bestimmte Höhe zuweisen, nur der IE6 kann das anscheinend nicht.

Kann jemand diese Beobachtung entweder widerlegen oder bestätigen? In SELFHTML ist dazu auch unter "Beachten Sie" nichts vermerkt.

Grüße aus Berlin

Christoph S.

--
Visitenkarte
ss:| zu:) ls:& fo:) va:) sh:| rl:|
  1. Hi,

    ich bleibe bei einem Projekt am Zeilenumbruch - <br /> (oder auch <br>) - ganz einfach "hängen". Natürlich ist es wieder einmal der IE6. Alle anderen können mit "line-height" dem Umbruch eine bestimmte Höhe zuweisen, nur der IE6 kann das anscheinend nicht.

    Warum willst du einem "Umbruch" eine bestimmte Zeilenhoehe verpassen?

    Entweder hast du wirklich nur einen Umbruch, "schreibe den Text in der naechsten Zeile weiter" - dann wird die Zeilenhoehe von der des enthaltenden Elementes uebernommen, alles andere waere recht unlogisch bis bloedsinnig.

    Oder du hast keinen einfachen Umbruch, sondern willst einen neuen Absatz o.ae. beginnen - dem kannst du dann per margin mehr Abstand von der "vorherigen Zeile" verpassen, wie du lustig bist.

    MfG ChrisB

    1. hallo,

      Warum willst du einem "Umbruch" eine bestimmte Zeilenhoehe verpassen?

      Ich will das gar nicht. Ich darf lediglich dafür sorgen, daß die HTML-Ausgaben eines ziemlich monströsen CMS einigermaßen korrekt aussehen. Es gibt technische Redakteure, die das CMS bedienen, und wenn die eine Leerzeile einfügen möchten, drücken sie "enter", und das CMS produziert ein <br/> (richtig, ein <br/>).
      Der dadurch erreichte Abstand der Zeilen soll eine bestimmbare Höhe haben, das ist alles. Also bin ich gezwungen, nachzuschauen, ob und wie ich für <br /> eine Zeilenhöhe vorsehen kann.

      Oder du hast keinen einfachen Umbruch, sondern willst einen neuen Absatz o.ae. beginnen - dem kannst du dann per margin mehr Abstand von der "vorherigen Zeile" verpassen, wie du lustig bist.

      Kann ich prinzipiell bei so ziemlich allen HTML-Elementen. Nur bei <br /> gelingt es mir nicht, und auch nur im IE6 nicht. Alle anderen, die ich kenne, kriegen es auf die Reihe. Und mich interessiert lediglich, ob es gleich- oder anderslautende Beobachtungen gibt.

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
      1. Hallo,

        Kann ich prinzipiell bei so ziemlich allen HTML-Elementen. Nur bei <br /> gelingt es mir nicht, und auch nur im IE6 nicht. Alle anderen, die ich kenne, kriegen es auf die Reihe. Und mich interessiert lediglich, ob es gleich- oder anderslautende Beobachtungen gibt.

        Prinzipiell müsste sich <br> identisch zu <br> verhalten, d.h. du kannst versuchen <br> eine Breite/Höhe zu geben oder einen Rahmen.

        Funktioniert das?

        Gruß

        1. Hellihello

          yes

          Prinzipiell müsste sich <br> identisch zu <br> verhalten,

          <br> === <br>

          d.h. du kannst versuchen <br> eine Breite/Höhe zu geben oder einen Rahmen.
          Funktioniert das?

          Nich bei mir und den vier genannten browsern. Sie behandeln das br nicht als Blockelement.

          Dank und Gruß,

          frankx

          --
          tryin to multitain  - Globus = Planet != Welt
          1. Hallo,

            <br> === <br>

            Ich meinte <br> und <hr>

            Nich bei mir und den vier genannten browsern. Sie behandeln das br nicht als Blockelement.

            Ich meine, <br/> ist nichts anderes als <div/>, aus Sicht von CSS und müsste daher mit allen Eigenschaften formatierbar sein. Aber ich kann mir gut vorstellen, dass die Browser wegen der speziellen Bedeutung hier beschränkt sind.

            gruß

          2. hi christoph,

            ich würde vielleicht versuchen mit display: none; zu arbeiten. das sollte anstandslos funktionieren. verstecke via css einfach den zeilenumbruch da wo er einfach nicht nötig ist also eben zwischen 2 textabsätzen.
            diese wiederum kannst du ja browserübergreifend mit entsprechenden css-deklarationen für margin oder padding gleich gestalten.

            sollte ein br innerhalb eines textabsatzes vorkommen und damit seinen zweck erfüllen kannst du den zeilenumbruch ja wieder mit display: block; sichtbar machen.

            so würde ich jedenfalls vorgehen..falls ich dein problem annähernd verstanden habe ;)

            liebe grüsse, mel

        2. hallo Daniel,

          Prinzipiell müsste sich <br> identisch zu <br> verhalten, d.h. du kannst versuchen <br> eine Breite/Höhe zu geben oder einen Rahmen.

          Rahmen geht, aber das steht nicht zur Diskussion. Breite geht nicht, ist auch logischer Unsinn. Höhe ist aber logisch nicht gar so unsinnig, und genau das macht Schwierigkeiten.

          Natürlich kannst du mich festnageln, ob ich denn irgendwo beim W3C nachgeschaut hätte (SELFHTML ist schließlich nicht die einzige Informationsquelle). Habe ich, so weit es mir möglich war. Nur habe ich nirgends eine Aussage wie "ist erlaubt" oder "ist nicht vorgesehen" gefunden.

          Grüße aus Berlin

          Christoph S.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|
          1. Hi,

            Natürlich kannst du mich festnageln, ob ich denn irgendwo beim W3C nachgeschaut hätte (SELFHTML ist schließlich nicht die einzige Informationsquelle). Habe ich, so weit es mir möglich war. Nur habe ich nirgends eine Aussage wie "ist erlaubt" oder "ist nicht vorgesehen" gefunden.

            Vielleicht muss/kann/sollte man das hier aus dem Einsatzzweck implizit folgern:

            Forcing a line break: the BR element:
            The BR element forcibly breaks (ends) the current line of text.

            Das ist sein Sinn und Zweck. Sein einziger, moechte ich meinen.

            Darueber, ob auch eine "leere" Textzeile - der Fall, wenn mehr als ein BR aufeinanderfolgen - "(ab)gebrochen" werden kann, mag man vielleicht streiten (wollen).
            Sinnvoll "im Sinne des Erfinders" ist ein solcher Einsatz aber wohl nicht, war auch kaum angedacht - fuer Textabsaetze haben wir schliesslich Paragraph.

            Wenn es also wirklich der einzige Einsatzzweck von BR ist, die aktuelle Textzeile zu beenden und zur naechsten ueberzugehen - dann besteht keine Notwendigkeit, BR mit sowas wie einer Hoehe formatieren zu wollen. Die Zeilenhoehe kommt implizit vom umgebenden Element.

            Dass das eingesetzte CMS an dieser Stelle keinen sinnvollen Code liefern mag, ist nicht HTMLs Problem :-)

            MfG ChrisB

      2. Hallo!

        Warum willst du einem "Umbruch" eine bestimmte Zeilenhoehe verpassen?

        Ich will das gar nicht. Ich darf lediglich dafür sorgen, daß die HTML-Ausgaben eines ziemlich monströsen CMS einigermaßen korrekt aussehen. Es gibt technische Redakteure, die das CMS bedienen, und wenn die eine Leerzeile einfügen möchten, drücken sie "enter", und das CMS produziert ein <br/> (richtig, ein <br/>).
        Der dadurch erreichte Abstand der Zeilen soll eine bestimmbare Höhe haben, das ist alles. Also bin ich gezwungen, nachzuschauen, ob und wie ich für <br /> eine Zeilenhöhe vorsehen kann.

        Jetzt muss ich aber doch mal nachfragen:

        • Was für einen Doctype haben die Dateien denn?
        • Und die Leerzeile - wie stelle ich mir den Code vor?
          Bspw. so?
          
        <p>Irgendein Text ... </p>  
        <br>  
        <p>Ein neuer Absatz</p>  
        
        

        Gruß Gunther

        1. hallo,

          • Was für einen Doctype haben die Dateien denn?

          Unterschiedlich - das liegt im Ermessen des Redakteurs. Es kann HTML 4.01 Strict oder Transitional sein, es kann XHTML sein (auch Strict oder Transitional). Das betrifft übrigens auch die von Struppi so gern gestellte Frage nach dem Quirks-Modus.

          • Und die Leerzeile - wie stelle ich mir den Code vor?
            Bspw. so?

          <p>Irgendein Text ... </p>
          <br>
          <p>Ein neuer Absatz</p>

            
          Exakt so, ja.  
            
            
          Grüße aus Berlin  
            
          Christoph S.
          
          -- 
          [Visitenkarte](http://community.de.selfhtml.org/visitenkarten/view.php?key=26)  
            
          ss:| zu:) ls:& fo:) va:) sh:| rl:|
          
          1. Hi Christoph,

            • Und die Leerzeile - wie stelle ich mir den Code vor?
              Bspw. so?

            <p>Irgendein Text ... </p>
            <br>
            <p>Ein neuer Absatz</p>

            
            > Exakt so, ja.  
              
            In diesem Falle könnt ihr doch auf die <br /> komplett verzichten, <p></p> ist ja ein eigener  
            Block, da braucht es doch kein <br />, dafür gibt es margin.  
              
            Grüße aus H im R,  
            Engin  
            
            -- 
            [Von wegen "Geld wächst nicht auf Bäumen"!](http://nimmet.de/nimmet-dateien/GeldAufBaum)  
              
            ![](http://nimmet.de/nimmet-bilder/valigator.gif)[Der Valligator](http://old.atomic-eggs.com/old_forum/messages/237.html#a1)  
              
            ["Computer sagt Nein"](http://www.comedycentral.de/index.php/Video/Detail/vid/541168/playerMode/fullscreen)
            
            1. hallo Engin,

              In diesem Falle könnt ihr doch auf die <br /> komplett verzichten, <p></p> ist ja ein eigener
              Block, da braucht es doch kein <br />, dafür gibt es margin.

              "Könnte" man, ja. Aber dann müßte ich das gesamte CMS umschreiben und/oder sämtliche Redakteure dazu erziehen, für eine Leerzeile eben nicht mehr einfach bloß "enter" zu drücken. Eine Sisyphosaufgabe.

              Grüße aus Berlin

              Christoph S.

              --
              Visitenkarte
              ss:| zu:) ls:& fo:) va:) sh:| rl:|
              1. Hi Christoph,

                "Könnte" man, ja. Aber dann müßte ich das gesamte CMS umschreiben und/oder sämtliche Redakteure dazu erziehen, für eine Leerzeile eben nicht mehr einfach bloß "enter" zu drücken. Eine Sisyphosaufgabe.

                Ich bin da ja nicht so der Experte, aber du könntest doch ein wenig tricksen.

                Du könntest ja die \n mittels str_replace wegzaubern wenn die Eingaben in ein <p></p> Block geschrieben werden sind
                die doch eh überflüssig.

                Das würden die Admins gar nicht erst mitkriegen und du hättest die <br />s aus dem Weg,
                die da mMn eh nicht hingehören[1].

                Ist es ein bekanntes CMS oder was selbst geschriebenes?

                Grüße aus H im R,
                Engin
                [1] Also als abstand-Produzent

                1. hallo Engin,

                  Du könntest ja die \n mittels str_replace wegzaubern

                  Nein. Ich habe einzig und allein die Möglichkeit (und die Aufgabe) CSS zu schreiben. Nichts anderes.

                  Grüße aus Berlin

                  Christoph S.

                  --
                  Visitenkarte
                  ss:| zu:) ls:& fo:) va:) sh:| rl:|
                  1. Hi Christoph,

                    Nein. Ich habe einzig und allein die Möglichkeit (und die Aufgabe) CSS zu schreiben. Nichts anderes.

                    Auch kein Problem, wieder heißt die Devise, weg mit den unerwünschten <br />s.

                    Grade getestet, funzt wunderbar, sowohl im FF als auch im IE6.

                      
                    <style type="text/css">  
                    p {  
                    margin:0; padding:0;  
                    }  
                    #text_area p br {  
                    display:inline;  
                    }  
                    #text_area br {  
                    display:none;  /* zum testen die Zeile löschen */  
                    }  
                    </style>  
                    
                    
                      
                    <div id="text_area">  
                      
                    <p class="text">Text ohne <br />Ende</p>  
                      
                    <br />  
                      
                    <p>Text ohne Ende</p>  
                      
                    </div>
                    

                    Hoffe es hilft.

                    Grüße aus H im R,
                    Engin

                    1. Hi Christoph,

                      habe es grade auf meinem System (WinXP SP2) mit all möglichen Browsern getestet, bis auf IE 4.01 funktioniert es in allen Browsern.

                      FF 2.0.0.12, Safari 3.0.4, Opera 9.24, IE 5.01, 5.5, 6 & 7.

                      Grüße aus H im R,
                      Engin

          2. Hallo!

            • Was für einen Doctype haben die Dateien denn?

            Unterschiedlich - das liegt im Ermessen des Redakteurs. Es kann HTML 4.01 Strict oder Transitional sein, es kann XHTML sein (auch Strict oder Transitional). Das betrifft übrigens auch die von Struppi so gern gestellte Frage nach dem Quirks-Modus.

            Dann solltest aber sicherstellen, dass das <br> _nie_direktes Kindelement von <body> sein kann, wenn die Strict-Variante ausgewählt wird.

            • Und die Leerzeile - wie stelle ich mir den Code vor?
              Bspw. so?

            <p>Irgendein Text ... </p>
            <br>
            <p>Ein neuer Absatz</p>

            
            >   
            > Exakt so, ja.  
              
            Also bei mir funktioniert im FF 2.0.0.12 und IE7 folgende Variante:  
            ~~~css
              
            br {  
              display: block;  
              margin: 200px;  
              font-size: 200px;  
            }  
            
            

            Wobei der FF den Margin-Wert umsetzt und der IE7 den Font-Size Wert. Und du bist sicher, dass die Font-Size Variante im IE6 nicht funktioniert?

            Gruß Gunther

            1. hallo Gunther,

              Dann solltest aber sicherstellen, dass das <br> _nie_direktes Kindelement von <body> sein kann, wenn die Strict-Variante ausgewählt wird.

              Ist es auch nicht. Es steckt _immer_ in mindestens einem DIV, bisweilen in mehreren.

              Also bei mir funktioniert im FF 2.0.0.12 und IE7 folgende Variante:

              Das gestehe ich dir gerne zu. Im OP habe ich ja ausdrücklich nur nach IE6 gefragt.

              Und du bist sicher, dass die Font-Size Variante im IE6 nicht funktioniert?

              Ja, leider. War eine gute Idee, hat aber nix gebracht.

              Grüße aus Berlin

              Christoph S.

              --
              Visitenkarte
              ss:| zu:) ls:& fo:) va:) sh:| rl:|
              1. Hallo Christoph!

                Das gestehe ich dir gerne zu. Im OP habe ich ja ausdrücklich nur nach IE6 gefragt.

                Ja, schon klar. Aber ich hab' mir noch keine VM installiert und soweit ich weiß, gibt es ja leider keine andere Möglichkeit, einen IE6 unter Vista ans Laufen zu kriegen, oder?

                Ja, leider. War eine gute Idee, hat aber nix gebracht.

                Tja, mehr fällt mir dazu leider auch nicht mehr ein.
                Viel Erfolg beim Tüffteln jedenfalls noch, und wenn du eine Lösung gefunden haben solltest, teilst du uns die doch bestimmt mit? ;-)

                Gruß aus Köln in die Hauptstadt
                Gunther

          3. Unterschiedlich - das liegt im Ermessen des Redakteurs. Es kann HTML 4.01 Strict oder Transitional sein, es kann XHTML sein (auch Strict oder Transitional). Das betrifft übrigens auch die von Struppi so gern gestellte Frage nach dem Quirks-Modus.

            Die du leider noch nie beantwortet hast(Warum eigentlich?).
            Daher ist es bei fast allen Fragen die du stellst nicht möglich zu helfen, daher ignoriere ich mittlerweile auch weitestgehend deine Fragen.

            Wie auch hier wieder:
            Wie du selber siehst, läßt sich sehr wohl im IE 6 das <br>-Tag im strict Modus formatieren: http://selfhtml.jstruebig.de/br-test-strict.html allerdings im Quirksmodus auch. Daher ist dein Problem mir nicht verständlich.

            Übrigens sollte eine Texteingabe, wenn sie so wie ein Textverarbeitungsprogramm arbeitet, die Eingabe von Enter nicht als <br> interpretieren, sondern einen neuen Absatz erzeugen. Das ist das Verhalten das Open Office und Konsorten haben. Ein erzwungenes Newline bekommst du mit [SHIFT]-[ENTER], aber das liegt ja ausserhalb deiner Verantwortung.

            Struppi.

            1. hallo Struppi,

              Wie du selber siehst, läßt sich sehr wohl im IE 6 das <br>-Tag im strict Modus formatieren: http://selfhtml.jstruebig.de/br-test-strict.html allerdings im Quirksmodus auch. Daher ist dein Problem mir nicht verständlich.

              Weil du schummelst und den Thread nicht richtig liest. Du machst bei deinen Beispielen _mehrere_ <br>, und da geht es natürlich. Ich rede von _einem_ <br>, und da macht es der IE6 eben nicht.

              Grüße aus Berlin

              Christoph S.

              --
              Visitenkarte
              ss:| zu:) ls:& fo:) va:) sh:| rl:|
              1. Wie du selber siehst, läßt sich sehr wohl im IE 6 das <br>-Tag im strict Modus formatieren: http://selfhtml.jstruebig.de/br-test-strict.html allerdings im Quirksmodus auch. Daher ist dein Problem mir nicht verständlich.

                Weil du schummelst und den Thread nicht richtig liest.

                Natürlich nicht.

                Ich rede von _einem_ <br>,

                nicht in der Ausgangsfrage. Das vielleicht im Zuge des Threads neue Erkenntnisse gefunden wurden, die du evtl. preis gibst, ist mir zu mühselig zu verfolgen.

                Zumal das Problem wieder ein seltsamer Workaround ist, für Dinge die normalerweise nicht auftauchen.

                Struppi.

                1. hallo Struppi,

                  Ich rede von _einem_ <br>,
                  nicht in der Ausgangsfrage.

                  Doch, wenn du lesen kannst. Und noch einmal _explizit_ in genau jenem posting innerhalb des Threads, auf das du eingestiegen bist.

                  Zumal das Problem wieder ein seltsamer Workaround ist, für Dinge die normalerweise nicht auftauchen.

                  Daher war es mir eine Nachfrage wert.

                  Grüße aus Berlin

                  Christoph S.

                  --
                  Visitenkarte
                  ss:| zu:) ls:& fo:) va:) sh:| rl:|
  2. Hellihello Christoph,

      
      
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
    <html>  
     <head>  
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  
      <title>br</title>  
      <link rel="stylesheet" type="text/css" href="css.css">  
      <style type="text/css">  
      p {  
       border:1px solid red;  
      }  
      br {  
      display:block;  
      line-height:100px;  
      border: 1px solid green;  
      }  
      </style>  
     </head>  
     <body>  
     <p>ein text  
     <br>  
     <br>  
     da war ein br  
     </p>  
     </body>  
    </html>  
      
    
    

    zeigt mir im IE6 standalone unter WinXPSP2 auch einen Abstand, wie sein großer Bruder IE7 und Opera. Aber nur mit zwei br's. Mit einem zeigts keiner.

    Grüße aus Berlin

    dito.

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. hallo frankx,

      Aber nur mit zwei br's. Mit einem zeigts keiner.

      Ja, genau darum geht es. Mit zwei br's geht es. Aber eben nicht mit einem.

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
      1. Hellihello Christoph,

        Ja, genau darum geht es. Mit zwei br's geht es. Aber eben nicht mit einem.

        Aber bei _einem: gehts bei mir auch nicht im IE7 und nicht im Opera und nicht im FF, im FF nur, wenn ich dem noch ein margin-top verpasse. Aber auch _nur_ im FF.

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
  3. Hallo Christoph,

    ich bleibe bei einem Projekt am Zeilenumbruch - <br /> (oder auch <br>) - ganz einfach "hängen". Natürlich ist es wieder einmal der IE6. Alle anderen können mit "line-height" dem Umbruch eine bestimmte Höhe zuweisen, nur der IE6 kann das anscheinend nicht.

    ich habe hier nur aktuell nur den IE7, aber hast du es schon mal mit der Zuweisung einer entsprechenden Font-Size (ggf. in Kombination mit der Line-Height) versucht?

    Gruß Gunther

    1. hallo Gunther,

      hast du es schon mal mit der Zuweisung einer entsprechenden Font-Size (ggf. in Kombination mit der Line-Height) versucht?

      Nein, habe ich bisher nicht. Ist zwar ziemlich idiotisch, aber immerhin einen Versuch wert. Danke für den Hinweis.

      Grüße aus Berlin

      Christoph S.

      --
      Visitenkarte
      ss:| zu:) ls:& fo:) va:) sh:| rl:|
      1. Hellihello

        hast du es schon mal mit der Zuweisung einer entsprechenden Font-Size (ggf. in Kombination mit der Line-Height) versucht?

        Nein, habe ich bisher nicht. Ist zwar ziemlich idiotisch, aber immerhin einen Versuch wert. Danke für den Hinweis.

        Ging bei mir nicht. Im Grunde scheint es doch so zu sein, dass sich br wie _ein_ Zeichen verhält.

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. hallo frankx,

          hast du es schon mal mit der Zuweisung einer entsprechenden Font-Size (ggf. in Kombination mit der Line-Height) versucht?
          Ging bei mir nicht.

          Hat auch bei mir nicht zu einem nennenswerten Erfolg geführt. Schade. Man muß aber zugestehen, daß es eine Idee war, die auszuprobieren sich lohnte.

          Grüße aus Berlin

          Christoph S.

          --
          Visitenkarte
          ss:| zu:) ls:& fo:) va:) sh:| rl:|