Sven: <pre> begrenzen?

Hallo,

Ich suche ne möglichkeit <pre> </pre> zu begrenzen. Habe hier schon auf SelfHtml gesucht, aber leider nix gefunden außer <pre width='30'> was aber nicht bei IE funktioniert.

Ich schreibe gerade ein Highlighter für Delphi-Quellcode für meine Website. Ich lasse den Formatierten Text in einer Tabelle anzeigen und möchste gerne das er die Tabelle nicht vergrößert, sondern automatisch Zeilenumbruch macht. Wie kann ich das hinbekommen?

Gibt es überhaupt eine möglichkeit?

MFG
Sven!

  1. Hello,

    Ich schreibe gerade ein Highlighter für Delphi-Quellcode für meine Website. Ich lasse den Formatierten Text in einer Tabelle anzeigen und möchste gerne das er die Tabelle nicht vergrößert, sondern automatisch Zeilenumbruch macht. Wie kann ich das hinbekommen?

    Hast Du schon versucht, der Tabelle zu sagen, dass sie gehorchen soll?

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hi,

      Wie meinst Du das, Tom?

      Also der Sinn ist, dass ich Quellcodes anzeigen will die die Leerstelle berhalten aber sollen trozdem Zeilenumbruch haben wenn die Tabelle zuende ist wenn kein Platz mehr ist.

      Gibts ne möglichkeit?

      MFG
      Sven!

      1. Hello,

        Wie meinst Du das, Tom?

        Schau mal rein in

        http://de.selfhtml.org/
        http://de.selfhtml.org/navigation/css.htm
        http://de.selfhtml.org/navigation/css.htm#tabellen
        http://de.selfhtml.org/css/eigenschaften/tabellen.htm#table_layout

        Obige Links sind gleichzeitig 'ne Anleitung, wie man recherchieren könnte...

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. Hello,

          Wie meinst Du das, Tom?

          Schau mal rein in

          http://de.selfhtml.org/
          http://de.selfhtml.org/navigation/css.htm
          http://de.selfhtml.org/navigation/css.htm#tabellen
          http://de.selfhtml.org/css/eigenschaften/tabellen.htm#table_layout

          Obige Links sind gleichzeitig 'ne Anleitung, wie man recherchieren könnte...

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          Danke, werde ich mir mal anschauen aber denke nicht was davon klapt habe ich schon ausprobiert meine ich aber ich probiers nochmal...

        2. Hello,

          Wie meinst Du das, Tom?

          Schau mal rein in

          http://de.selfhtml.org/
          http://de.selfhtml.org/navigation/css.htm
          http://de.selfhtml.org/navigation/css.htm#tabellen
          http://de.selfhtml.org/css/eigenschaften/tabellen.htm#table_layout

          Obige Links sind gleichzeitig 'ne Anleitung, wie man recherchieren könnte...

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          Hi,

          Na ja, jetzt bleibt die Tabelle so - Aber dann sieht man den anderen Text nicht mehr der weiter als die Tabelle geht. Da soll er Zeilenumbruch machen zusätzlich. Aber schon ein Schritt weiter - Danke. Gibts dafür auch noch ne möglichkeit?

      2. Problem ist, wenn kein Zeilenumbruch gemacht wird verschiebt sich die ganze Website das Design. Was nicht so toll ist. <pre> ist das einzigste was Text anzeigt wie im Editor.

        Mir gings ja um das wichtigste die Leerstellen, dass die angezeigt werden. Muss doch irgendwie gehen das er trozdem Zeilenumbruch macht wenn kein Platz mehr in der Tabelle ist. Vielleicht mit CSS oder so?

        MFG
        Sven!

        1. Hallo Sven,

          <pre> ist das einzigste was Text anzeigt wie im Editor.

          Was meinst Du mit "... anzeigt wie im Editor ...". Mit festem Zeichenabstand?

          Definiere doch einfach eine andere Schriftart für die Tabelle. Mit "font-family:monospace;" dürftest Du richtig liegen.

          Gruß,
          small-step

          1. Hallo Sven,

            <pre> ist das einzigste was Text anzeigt wie im Editor.
            Was meinst Du mit "... anzeigt wie im Editor ...". Mit festem Zeichenabstand?

            Definiere doch einfach eine andere Schriftart für die Tabelle. Mit "font-family:monospace;" dürftest Du richtig liegen.

            Gruß,
            small-step

            Ja, dann habe ich aber das Problem, dass er die Leerstellen nicht anzeigt.

            MFG
            Sven!

            1. Hello,

              <pre> ist das einzigste was Text anzeigt wie im Editor.
              Was meinst Du mit "... anzeigt wie im Editor ...". Mit festem Zeichenabstand?

              Definiere doch einfach eine andere Schriftart für die Tabelle. Mit "font-family:monospace;" dürftest Du richtig liegen.

              Ja, dann habe ich aber das Problem, dass er die Leerstellen nicht anzeigt.

              Und die harten Zeilenumbrüche auch nicht.

              Aber es geht leider wirklich nicht.
              Wenn man

              table-layout:fixed;

              setzt,
              werden die überlangen Texte in <pre> einfach abgeschnitten, aber nicht umgebrochen.

              Harzliche Grüße vom Berg
              http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau

              1. Hallo Tom, Sven.

                Aber es geht leider wirklich nicht.
                Wenn man

                table-layout:fixed;

                setzt,
                werden die überlangen Texte in <pre> einfach abgeschnitten, aber nicht umgebrochen.

                Eine andere Möglichkeit wäre noch overflow:auto; um notfalls einen Scrollbalken einzufügen.

                Gruß,
                small-step

                1. Hallo Tom, Sven.

                  Aber es geht leider wirklich nicht.
                  Wenn man

                  table-layout:fixed;

                  setzt,
                  werden die überlangen Texte in <pre> einfach abgeschnitten, aber nicht umgebrochen.

                  Eine andere Möglichkeit wäre noch overflow:auto; um notfalls einen Scrollbalken einzufügen.

                  Gruß,
                  small-step

                  overflow:auto? Bei Table setzen unter style?

                  1. Hello,

                    Eine andere Möglichkeit wäre noch overflow:auto; um notfalls einen Scrollbalken einzufügen.

                    overflow:auto? Bei Table setzen unter style?

                    Nein, z.B für das <td id="box"> vereinbaren ("box" ist hier frei gewählter Name)
                    und dann für die ID overflow:auto;

                    oder eben auch für eine Klasse...

                    Harzliche Grüße vom Berg
                    http://www.annerschbarrich.de

                    Tom

                    --
                    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                    Nur selber lernen macht schlau

                  2. Hallo Sven.

                    overflow:auto? Bei Table setzen unter style?

                    Nein. Verpasse dem pre-Element eine http://de.selfhtml.org/css/eigenschaften/positionierung.htm#width@title=Breite und formatiere es mit http://de.selfhtml.org/css/eigenschaften/positionierung.htm#overflow@title=overflow:auto, dadurch kann man in diesem pre-Element scrollen, sofern erforderlich.

                    Einen schönen Donnerstag noch.

                    Gruß, Ashura

                    --
                    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                    mathbr:del.icio.us/ mathbr:w00t/
                    1. Danke! Funktioniert - ist nicht die Beste Lösung Quellcodes anzuschauen aber viel besser als vorher.

                      1. Hello,

                        Danke! Funktioniert - ist nicht die Beste Lösung Quellcodes anzuschauen aber viel besser als vorher.

                        Dann stell doch in dem "Fenster" einen Link auf ein eigenes Fenster mit dem Code zur Verfügung.

                        Harzliche Grüße vom Berg
                        http://www.annerschbarrich.de

                        Tom

                        --
                        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                        Nur selber lernen macht schlau

              2. Hello,

                <pre> ist das einzigste was Text anzeigt wie im Editor.
                Was meinst Du mit "... anzeigt wie im Editor ...". Mit festem Zeichenabstand?

                Definiere doch einfach eine andere Schriftart für die Tabelle. Mit "font-family:monospace;" dürftest Du richtig liegen.

                Ja, dann habe ich aber das Problem, dass er die Leerstellen nicht anzeigt.

                Und die harten Zeilenumbrüche auch nicht.

                Aber es geht leider wirklich nicht.
                Wenn man

                table-layout:fixed;

                setzt,
                werden die überlangen Texte in <pre> einfach abgeschnitten, aber nicht umgebrochen.

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                Das ist schade. Dann kann ich auf Deutsch gesagt den BBCode Tag vergessen und den Highlighter den ich geschrieben habe... :/. Vielleicht fehlt mir noch ne Lösung ein...Danke für die Hilfe!

            2. Hallo Sven.

              Ja, dann habe ich aber das Problem, dass er die Leerstellen nicht anzeigt.

              Dafür gibt es http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#white_space@title=white-space:pre.

              Einen schönen Donnerstag noch.

              Gruß, Ashura

              --
              sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
              mathbr:del.icio.us/ mathbr:w00t/
              1. Hello,

                Ja, dann habe ich aber das Problem, dass er die Leerstellen nicht anzeigt.

                Dafür gibt es http://de.selfhtml.org/css/eigenschaften/ausrichtung.htm#white_space@title=white-space:pre.

                Schade nur, dass das Attribut "wrap" fehlt ...

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

        2. Tach,

          Mir gings ja um das wichtigste die Leerstellen, dass die angezeigt werden. Muss doch irgendwie gehen das er trozdem Zeilenumbruch macht wenn kein Platz mehr in der Tabelle ist. Vielleicht mit CSS oder so?

          warum fügst du nicht serverseitig einen Zeilenumbruch ein?

          mfg
          Woodfighter

  2. Tach,

    Ich suche ne möglichkeit <pre> </pre> zu begrenzen. Habe hier schon auf SelfHtml gesucht, aber leider nix gefunden außer <pre width='30'> was aber nicht bei IE funktioniert.

    width bei pre ist weiterhin noch deprecated. Es ergibt auch ohnehin nicht viel Sinn, schließlich ist der Sinn von pre genau das Verhindern von automatischen Zeilenumbrüchen.

    mfg
    Woodfighter

  3. Heißa, Sven,

    Ich schreibe gerade ein Highlighter für Delphi-Quellcode für meine Website. Ich lasse den Formatierten Text in einer Tabelle anzeigen und möchste gerne das er die Tabelle nicht vergrößert, sondern automatisch Zeilenumbruch macht. Wie kann ich das hinbekommen?

    Eine weitere Möglichkeit wäre, serverseitig im Code alle doppelten Leerzeichen durch ein geschütztes Leerzeichen und ein normales Leerzeichen zu ersetzen, und ein Leerzeichen am Anfang der Zeile durch ein geschütztes Leerzeichen. In PHP könnte das zum Beispiel so aussehen:
    $code = preg_replace('/(^| ) /', "\xa0$1", $code); (ungetestet, müsste aber funktionieren)

    Gautera!
    Grüße aus Biberach Riss,
    Candid Dauth

    --
    Ein Fußball-Fan? Noch auf der Suche eine Schlafmöglichkeit im Großraum Stuttgart für die WM 2006? Wie wäre es mit Herrenberg, einer gemütlichen Kleinstadt am Rande des Schönbuchs – von der Lage her ideal, auch für andere Vorhaben im Urlaub. Ferienwohnungen-Herrenberg.com.
    http://cdauth.de/
    1. Hallo Candid Dauth,

      Eine weitere Möglichkeit wäre, serverseitig im Code alle doppelten Leerzeichen durch ein geschütztes Leerzeichen und ein normales Leerzeichen zu ersetzen, und ein Leerzeichen am Anfang der Zeile durch ein geschütztes Leerzeichen. In PHP könnte das zum Beispiel so aussehen:
      $code = preg_replace('/(^| ) /', "\xa0$1", $code); (ungetestet, müsste aber funktionieren)

      Gute Idee. Das gleiche wäre auch mit JavaScript möglich, falls keine Serverseitige Sprache zur Verfügung steht. Wenn kein JS aktiviert ist wird die Tabelle eben vergrößert.

      Gruß,
      small-step