Peppo: Ungewollter Umbruch nach </span> im Netscape

Guten Morgen,

Ich hab folgendes Style definieren:

#ln
         {
             color: #000000;
             background-color: #c0c0c0;
             border-right-style: solid ;
             border-right-width: 1pt ;

}

wenn ich nun folgendes schreibe
<pre>
<span id='ln'> 023 </span> bal bal
<span id='ln'> 024 </span>   blub
<span id='ln'> 025 </span>   foo
<span id='ln'> 026 </span>  so so
</pre>
dann haut der NC 4.5 (hab kein anderen) mir  nach jedem </span> ein Umbruch rein.
Der IE hat damit keine Probs.
Was kann ich machen ?

Gruß
   Peppo

  1. Guten Morgen,

    Ich hab folgendes Style definieren:

    #ln
             {
                 color: #000000;
                 background-color: #c0c0c0;
                 border-right-style: solid ;
                 border-right-width: 1pt ;

    }

    sollte gehen, aber warum "#ln" und nicht ".ln"

    wenn ich nun folgendes schreibe
    <pre>
    <span id='ln'> 023 </span> bal bal
    <span id='ln'> 024 </span>   blub
    <span id='ln'> 025 </span>   foo
    <span id='ln'> 026 </span>  so so
    </pre>

    warum "<pre>" wenn doch kein vor vormatierter text drin steht?

    dann haut der NC 4.5 (hab kein anderen) mir  nach jedem </span> ein Umbruch rein.

    warum "<span>" und nicht "<div>"? "<div>" geht mit ie und ns. aber z.b. "<b>" würde auch gehen, wenn du font-weight im style auf normal setzt. außerdem 'class="ln"' nicht 'id="ln"'. mit "id" wird kein css ausgewählt.

    Der IE hat damit keine Probs.

    Ist "<span>" überhaupt noch HTML4 oder XHTML?

    Was kann ich machen ?

    überdenken

    Gruß

    zurück

    Peppo

    daniel

    1. #ln
               {
                   color: #000000;
                   background-color: #c0c0c0;
                   border-right-style: solid ;
                   border-right-width: 1pt ;
               }

      sollte gehen, aber warum "#ln" und nicht ".ln"

      na wenn ich "#ln" schreibe muß ich auch 'class="ln"' und das sind 3 Zeichen mehr und das kann sich rechnen (3*857=2571)

      wenn ich nun folgendes schreibe
      <pre>
      <span id='ln'> 023 </span> bal bal
      <span id='ln'> 024 </span>   blub
      <span id='ln'> 025 </span>   foo
      <span id='ln'> 026 </span>  so so
      </pre>

      warum "<pre>" wenn doch kein vor vormatierter text drin steht?

      Doch steht drin.

      dann haut der NC 4.5 (hab kein anderen) mir  nach jedem </span> ein Umbruch rein.

      warum "<span>" und nicht "<div>"? "<div>" geht mit ie und ns. aber z.b. "<b>" würde auch gehen, wenn du font-weight im style auf normal setzt. außerdem 'class="ln"' nicht 'id="ln"'. mit "id" wird kein css ausgewählt.

      Ausprobiert hast du deine Aussage nicht oder? Mit <div> zerhaut der IE schon alles.

      Der IE hat damit keine Probs.

      Ist "<span>" überhaupt noch HTML4 oder XHTML?

      /selfhtml/tcla.htm#a2

      Was kann ich machen ?

      überdenken

      Mach ich gerne wenn Jemand eine brauchbare Lösung für mein Problem hat.

      Peppo

      1. Hallo Peppo,

        sollte gehen, aber warum "#ln" und nicht ".ln"

        na wenn ich "#ln" schreibe muß ich auch 'class="ln"' und das sind 3 Zeichen mehr und das kann sich rechnen (3*857=2571)

        Es ist falsch.
        Es ist nicht zulässig, mehrmals innerhalb eines Dokumentes, für ein
        bestimmtes Element, die gleiche Idee zu verwenden, dann _mußt_ Du
        auf class zurückgreifen.

        <div id="bla">bla</div><div id="bla">bla</div> -> unzulässig

        <div id="bla">bla</div><span id="bla">bla</span> -> zulässig

        <div class="bla">bla</div><div class="bla">bla</div> -> zulässig

        Ausprobiert hast du deine Aussage nicht oder? Mit <div> zerhaut der IE schon alles.

        DIV ist ein Block-Level-Element, demzufolge entsteht danach und auch
        davor automatisch ein Zeilenschaltung. Dies ist bei SPAN nicht der
        Fall, deshalb ist Dein Ansatz in dieser Hinsicht schon richtig.

        Wenn ich Zeit habe, schaue ich es mir nochmal genauer an und poste
        dann hier die Lösung, kann es aber nicht versprechen (Stress :(

        Viele Grüße aus Dresden,
        Stefan Einspender

        1. Hallo nochmal,

          Wenn ich Zeit habe, schaue ich es mir nochmal genauer an und poste
          dann hier die Lösung, kann es aber nicht versprechen (Stress :(

          Vorschlag:
          <html>
          <head>
          <title>test</title>
          <style type="text/css">
          BODY {
             margin:0px;
          }

          B {
             color: #000000;
             background-color: #c0c0c0;
          }
          </style>
          </head>
          <body>
          <pre>
          <b> 01 </b> bal bal
          <b> 02 </b>        blub
          <b> 03 </b>        foo
          <b> 04 </b>  so so
          </pre>
          </body>
          <html>

          und über @import bindest Du ein CSS-Datei ein, in der folgende beide
          Zeilen stehen:
             font-weight:normal;
             border-right:1pt solid #000000;

          @import versteht Netscape nicht, kann also das Layout nicht mehr
          zerschiessen. Es passiert übrigens wg. border, danach fügt Netscape
          automatisch einen Zeilenumbruch ein :(
          Um es auch im Netscape hervorzuheben, habe ich <b> verwendet, damit
          minimierst Du gleichzeitig auch noch Deinen Quellcodeumfang *g*

          Viele Grüße aus Dresden,
          Stefan Einspender

          1. Hallo nochmal ;)

            font-weight:normal;
               border-right:1pt solid #000000;

            Natürlich soll in der externen CSS dann folgendes stehen:

            B {
               font-weight:normal;
               border-right:1pt solid #000000;
            }

            Nur die beiden Zeilen wären dann doch "etwas" zuwenig gewesen ;)

            Viele Grüße aus Dresden,
            Stefan Einspender

        2. Hallo Stefan,

          Ich hab's mittlerweile mit
          <a name='1'> 01 </a>
          gelöst ich brauche sowieso auf jeder Zeile einen Anker.

          Aber ich habe da noch eine Frage.
          Ich habe da noch mehr drin als die Zeilennummern.
          Und du sagst:

          Es ist nicht zulässig, mehrmals innerhalb eines Dokumentes, für ein
          bestimmtes Element, die gleiche Idee zu verwenden, dann _mußt_ Du
          auf class zurückgreifen.
          <div id="bla">bla</div><div id="bla">bla</div> -> unzulässig
          <div id="bla">bla</div><span id="bla">bla</span> -> zulässig
          <div class="bla">bla</div><div class="bla">bla</div> -> zulässig

          Nu muß ich aber in dem Text alle bekannten männlichen Vornamen, weibliche Vornamen, Nachnamen, Stätte, bekannte Gebäude, usw. unterschiedlich markieren.
          Wie würdest du das in HTML darstellen (ohne die Größe zu verzehnfachen)

          Viele Grüße aus Welschbillig,
              Peppo

          1. hallo,

            Nu muß ich aber in dem Text alle bekannten männlichen Vornamen, weibliche Vornamen, Nachnamen, Stätte, bekannte Gebäude, usw. unterschiedlich markieren.
            Wie würdest du das in HTML darstellen (ohne die Größe zu verzehnfachen)

            du hast mehrere möglichkeiten mit css:

            1. die klassen; und auch wenn es dir jetzt als viel code erscheint ist es die einfachste und beste lösung.

            2. du baust dir konstruckte wie

            div#name a { }
            div#stadt a { } oder
            div.name a { }
            div.stadt a { } usw.

            wobei ich deine sorge um den code nicht ganz nachvollziehen kann. du wirst wohl keine 2 oder 300 Tsd einträge in eine html seite legen wollen?

            grüße
            thomas

            1. Hallo Thomas,

              wobei ich deine sorge um den code nicht ganz nachvollziehen kann. du wirst wohl keine 2 oder 300 Tsd einträge in eine html seite legen wollen?

              Das Ausgangs-Material hat des öfteren 70-200kb

              Peppo

      2. hallo,
        wenn dir 'class' zuviel sorgen macht, dann kannst du dir die überflüssigen 'id's auch sparen. ;-)

        <html>
        <head>
            <title>test"</title>
            <style>
                 body
                 {
                     margin-top:0;
                     margin-bottom:0;
                     margin-left:0;
                 }

        pre span
                 {
                     color:#000000;
                     background-color:#c0c0c0;
                     border-right:solid 1pt;
                 }

        </style>
        </head>
        <body>
        <pre>
        <span> 01 </span> bal bal
        <span> 02 </span>        blub
        <span> 03 </span>        foo
        <span> 04 </span>  so so
        </pre>
        </body>
        <html>

        im netscape 4.x hast du aber keinen right-boder.

        grüße
        thomas

  2. <html>
    <head>
        <title>test"</title>
        <style>
             body
             {
                 margin-top: 0;
                 margin-bottom: 0;
                 margin-left: 0;
             }

    #ln
             {
                 color: #000000;
                 background-color: #c0c0c0;
                 border-right-style: solid ;
                 border-right-width: 1pt ;

    }

    </style>
    </head>
    <body>
    <pre>
    <span id="ln"> 01 </span> bal bal
    <span id="ln"> 02 </span>        blub
    <span id="ln"> 03 </span>        foo
    <span id="ln"> 04 </span>  so so
    </pre>
    </body>
    <html>