Gerhard: Angabe der Spaltenbreite wird ignoriert

Hallo,
ich habe in der ersten Zeilenangabe einer bestimmten Spalte eine Längenangabe verpasst, allerdings ist die Spalte trotzdem so breit wie der längste Wert, der darin vorkommt.

  
<tr><td>blabla</td><td style="width:10em;">bla</td><td>....</tr>  
<tr><td>blublu</td><td                    >bliblibliblibli</td><td>....</tr>

Wie kann ich die Breite erzwingen (notfalls durch Abschneiden des Textes oder noch besser durch Textumbruch (Leerstellen sind vorhanden)?
Gruß
Gerhard

  1. Wie kann ich die Breite erzwingen (notfalls durch Abschneiden des Textes oder noch besser durch Textumbruch (Leerstellen sind vorhanden)?

    http://de.selfhtml.org/css/eigenschaften/tabellen.htm#table_layout@title=table-layout interessiert dich ggf.

    1. Hi,

      http://de.selfhtml.org/css/eigenschaften/tabellen.htm#table_layout@title=table-layout interessiert dich ggf.

      Danke, das klappt, allerdings habe ich jetzt doch auch noch Texte gefunden, deren Worte länger sind als die von mir gewollte max. Spaltenbreite.
      Kann ich auch hier einen Umbruch bzw. den Abschnitt des Textes erzwingen?

      1. Danke, das klappt, allerdings habe ich jetzt doch auch noch Texte gefunden, deren Worte länger sind als die von mir gewollte max. Spaltenbreite.
        Kann ich auch hier einen Umbruch bzw. den Abschnitt des Textes erzwingen?

        Die overflow-Eigenschaft ist hier vermutlich das richtige.

        1. Die overflow-Eigenschaft ist hier vermutlich das richtige.

          Auch dieser Tipp ist goldrichtig, danke!
          Jetzt habe ich noch eine Frage.
          Wenn ich in der ersten Zeilendefinition z.B. "width" angebe, so gilt dies für alle Zeilen der Tabelle.
          Nun habe ich aber dort auch "text-align:right" angegeben.
          Dies wirkt sich aber nur in der ersten Zeile aus.
          Ich sehe zwei Möglichkeiten:
          1. In jeder Zeile diese zusätzliche Angabe
          2. Angabe in CSS, allerdings muss ich ja dann wohl auch in jeder Zeile bei der entsprechenden Spalte die Klasse angeben.
          Gibt es da nicht eine einfachere Möglichkeit?

          1. Wenn ich in der ersten Zeilendefinition z.B. "width" angebe, so gilt dies für alle Zeilen der Tabelle.

            Sofern du die table-cell-Eigenschaft der td- und th-Element nicht manipulierst, ja.

            1. Angabe in CSS, allerdings muss ich ja dann wohl auch in jeder Zeile bei der entsprechenden Spalte die Klasse angeben.

            Ja.

            Gibt es da nicht eine einfachere Möglichkeit?

            :nth-child() wäre ein Möglichkeit, sofern du auf Browser die dies nicht unterstützen, verzichten kannst.

            Oder aber ein Workaround mittels JavaScript der die benötigte Klasse dynamisch setzt.

            1. @@suit:

              nuqneH

              1. Angabe in CSS, allerdings muss ich ja dann wohl auch in jeder Zeile bei der entsprechenden Spalte die Klasse angeben.

              Ja.

              Ähm: Nein.

              Dein Ja steht im Widerspruch zu:

              Gibt es da nicht eine einfachere Möglichkeit?

              :nth-child() wäre ein Möglichkeit, sofern du auf Browser die dies nicht unterstützen, verzichten kannst.

              Du sagst es.

              Oder aber ein Workaround mittels JavaScript der die benötigte Klasse dynamisch setzt.

              Oder aber keine Klasse vergibst, sondern per CSS-Expression die entsprechende Formatierung vornimmst. Zebrastreifen zeigen den (Fußgängerüber-)Weg; hier müsste man nur einfach durchzählen, nicht modulo im Kreis.

              Qapla'

              --
              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
              (Mark Twain)
              1. Ja.

                Ähm: Nein.

                Dein Ja steht im Widerspruch zu:

                Das ist mir bewusst :) aber wenns ohne JavaScript in nicht-CSS3-Browsern funktionieren soll, ist das die einzige Option.

            2. Hi,
              in Web habe ich mehrere Hinweise "eigene Tags definieren" gefunden allerdings "nur nichts genaues weiß man nicht".
              Ist dies möglich?
              Dann könnte man ja definieren "<tdr>" <=>  "<td style==text-align:right;">"

              1. in Web habe ich mehrere Hinweise "eigene Tags definieren" gefunden allerdings "nur nichts genaues weiß man nicht".
                Ist dies möglich?

                Ja sicher, du kannst die DTD beliebig manipulieren. HTML ist das dann aber nicht mehr sondern irgend ein selbst gestrickter SGML- oder XML-Dialekt.

                Dann könnte man ja definieren "<tdr>" <=>  "<td style==text-align:right;">"

                Nein, so einfach ist das nicht ;)

              2. @@Gerhard:

                nuqneH

                in Web habe ich mehrere Hinweise "eigene Tags definieren" gefunden allerdings "nur nichts genaues weiß man nicht".
                Ist dies möglich?

                Nein, in (X)HTML nicht.

                Allerdings stellen Browser solche eigenen Elemente durchaus auch formatiert dar, wenn man ihnen sagt, wie: 'display'-Eigenschaft mit entsprechendem Wert angeben. (Für IE ist dazu noch das Bekanntmachen der Elemente mit JavaScript document.createElement() erforderlich.) Deshalb lassen sich neue HTML5-Elemente schon verwnden.

                Dann könnte man ja definieren "<tdr>" <=>  "<td style==text-align:right;">"

                Nur (X)HTML ist das nicht mehr.

                Qapla'

                --
                Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                (Mark Twain)
          2. Wenn ich in der ersten Zeilendefinition z.B. "width" angebe, so gilt dies für alle Zeilen der Tabelle.
            Nun habe ich aber dort auch "text-align:right" angegeben.
            Dies wirkt sich aber nur in der ersten Zeile aus.
            Ich sehe zwei Möglichkeiten:

            1. In jeder Zeile diese zusätzliche Angabe
            2. Angabe in CSS, allerdings muss ich ja dann wohl auch in jeder Zeile bei der entsprechenden Spalte die Klasse angeben.
              Gibt es da nicht eine einfachere Möglichkeit?

            <colgroup>
                <col width="80" align="left">
                <col width="100" align="middle">
                <col width="320" align="right">
              </colgroup>

            1. Om nah hoo pez nyeetz, Ahnungsloser!

              <colgroup>     <col width="80" align="left">     <col width="100" align="middle">     <col width="320" align="right">   </colgroup>

              Nein.

              Matthias

              --
              http://www.billiger-im-urlaub.de/kreis_sw.gif
              1. <colgroup>
                    <col width="80" align="left">
                    <col width="100" align="middle">
                    <col width="320" align="right">
                  </colgroup>

                Nein.

                Funktioniert aber!

                1. Om nah hoo pez nyeetz, Ahnungsloser!

                  <colgroup>     <col width="80" align="left">     <col width="100" align="middle">     <col width="320" align="right">   </colgroup>

                  Nein.

                  Funktioniert aber!

                  Nur im IE7 oder im Quirks.

                  Matthias

                  --
                  http://www.billiger-im-urlaub.de/kreis_sw.gif