Henning Sorgenfrei: HTML: CSS:Zellenbreite wirklich erzwingen ???

Ich suche einen Befehl egal ob HTML oder CSS mit denen ich die Breite eines Tabellenfeldes erzwingen kann, d.h. dass bei überlänge ein automatischer Zeilenumbruch stattfindet, wobei der Inhalt dynamisch generiert wird.
Der Befehl width="xy" hilft mir leider nicht.

  1. Hallo Henning!

    Schau mal in die Forumsauslese <../../sfausles/tsfa_tac.htm#a2>.

    Gruss
    Mirko

    1. Hallo Henning!

      Da war ich etwas voreilig und habe die Frage nicht richtig gelesen. Verspreche Besserung!

      <../../sfausles/tsfa_tac.htm#a2>.

      Hier wird beschrieben, wie man eine Mindestgroese fuer eine Zelle erzwingen kann.

      Du wolltest aber eine Maximalgroesse erreichen. Dafuer wuerde ich die Breitenangabe im Table-Tag vornehmen, z.B. <TABLE width="200"><TR><TD>der Inhalt</TD></TR></TABLE>.
      Evtl. musst Du die Tabelle verschachteln, d.h. Du musst diese Tabelle in die Zelle schreiben, fuer die Du die Breite haben willst.

      Hoffentlich war es das, was Du meintest.

      Gruss
      Mirko

      1. Hallo Henning!

        Da war ich etwas voreilig und habe die Frage nicht richtig gelesen. Verspreche Besserung!

        <../../sfausles/tsfa_tac.htm#a2>.
        Hier wird beschrieben, wie man eine Mindestgroese fuer eine Zelle erzwingen kann.

        Du wolltest aber eine Maximalgroesse erreichen. Dafuer wuerde ich die Breitenangabe im Table-Tag vornehmen, z.B. <TABLE width="200"><TR><TD>der Inhalt</TD></TR></TABLE>.
        Evtl. musst Du die Tabelle verschachteln, d.h. Du musst diese Tabelle in die Zelle schreiben, fuer die Du die Breite haben willst.

        Hoffentlich war es das, was Du meintest.

        Gruss
        Mirko

        Hallo Mirko

        Erst mal vielen Dank für deine Hilfe, deine zweite Antwort trifft mein Problem schon ziemlich genau. Jedoch hab ich schon alle variationen des width="xy" tags ausprobiert, und nichts hat geholfen.
        Ich kann ja das Problem etwas genauer darstellen, ich will nach einem
        Formular zur Anmeldung bei einer Anwendung, die eingegebenen Daten zur Kontrolle darstellen, da es sich um mehrere Adressen handeln kann möchte ich bis zu drei Tabellen anzeigen, und dies nebeneinander
        dazu wäre es notwendig, dass ich eine maximalbreite der Tabelle festlegen könnte, da sonst die Tabellen ineinander geschrieben werden
        (mit css absolut positioniert), dass ganze mache ich mit xml und xsl
        und nun weiß ich halt nicht ob das Problem aus dem Sprachcocktail resultiert, oder ob ich den richtigen HTML Befehl noch nicht gefunden habe ???

        1. Hallo Henning

          Also noch ein Versuch.

          deine zweite Antwort trifft mein Problem schon ziemlich genau. Jedoch hab ich schon alle variationen des width="xy" tags ausprobiert, und nichts hat geholfen.

          Einen width-Tag gibt es nicht. Width ist ein Attribut und wird im TD-Tag von NS nicht korrekt interpretiert. Zur Verdeutlichung ein Beispiel:
          <TABLE><TR>
          <TD width="200">Inhalt 1</TD>
          <TD width="200">Inhalt 2</TD>
          <TD width="200">Inhalt 3</TD>
          </TR></TABLE>
          Es wird nun eben nicht, wie man erwarten koennte, jede Zelle in der Breite 200 dargestellt, sondern die Breite wird vom NS je nach Inhalt mal breiter mal schmaler ausgegeben.

          Schreibst Du aber in jede Zelle eine neue Tabelle mit der festen Breite erhaelt man das gewuenschte Ergebnis. Beispiel:
          <TABLE><TR>
          <TD><TABLE WIDTH="200"><TR>Inhalt 1</TR></TABLE></TD>
          <TD><TABLE WIDTH="200"><TR>Inhalt 2</TR></TABLE></TD>
          <TD><TABLE WIDTH="200"><TR>Inhalt 3</TR></TABLE></TD>
          </TR></TABLE>

          möchte ich bis zu drei Tabellen anzeigen, und dies nebeneinander dazu wäre es notwendig, dass ich eine maximalbreite der Tabelle festlegen könnte, da sonst die Tabellen ineinander geschrieben werden

          (mit css absolut positioniert)

          Wenn Du damit meinst, dass Du 3 absolut positionierte Layer mit jeweils einer Tabelle definierst, geht das natürlich auch.
          Beispiel:
          <DIV ID="DIVeins" STYLE="positon:absolute; top:10; left:0;">
          <TABLE WIDTH="200"><TR>Inhalt 1</TR></TABLE></TD></DIV>
          <DIV ID="DIVzwei" STYLE="positon:absolute; top:10; left:200;">
          <TABLE WIDTH="200"><TR>Inhalt 1</TR></TABLE></TD></DIV>
          <DIV ID="DIVdrei" STYLE="positon:absolute; top:10; left:400;">
          <TABLE WIDTH="200"><TR>Inhalt 1</TR></TABLE></TD></DIV>

          dass ganze mache ich mit xml und xsl
          und nun weiß ich halt nicht ob das Problem aus dem Sprachcocktail resultiert, oder ob ich den richtigen HTML Befehl noch nicht gefunden habe ???

          Dazu kann ich mir leider kein Urteil erlauben, weil ich mich mit xml/xsl nicht auskenne. Vielleicht kann dazu jemand anderes was sagen.

          Gruss
          Mirko

        2. Hallo!

          Ich kann ja das Problem etwas genauer darstellen,

          Das wäre nicht schlecht, denn dein erstes Posting sagt leider gar nichts über dein Problem und eine URL wäre bei so einem Fall auch nützlich.

          ich will nach einem Formular zur Anmeldung bei einer Anwendung, die eingegebenen Daten zur Kontrolle darstellen, da es sich um mehrere Adressen handeln kann möchte ich bis zu drei Tabellen anzeigen, und dies nebeneinander

          <table border="1" width="200" align="left">
          <tr>
          <td>A</td>
          <td>B</td>
          <td>B</td>
          </tr>
          </table>
          <table border="1" width="200" align="left">
          <tr>
          <td>1</td>
          <td>2</td>
          <td>3</td>
          </tr>
          </table>
          <table border="1" width="200">
          <tr>
          <td>I</td>
          <td>II</td>
          <td>III</td>
          </tr>
          </table>

          »»festlegen könnte, da sonst die Tabellen ineinander geschrieben werden (mit css absolut positioniert), dass ganze mache ich mit xml und xsl

          Tja, schön daß du das so beiläufig mal gerade erwähnst. Da kann man ohne einen Quellcode schon erst richtig nichts sagen.

          Grüße
          Thomas

          1. Hallo zurück

            Erst mal sorry für das etwas mißglückte Posting (1st time Poster),
            ich hab mal den entsprechenden Programmabschnitt aus dem XSL-Teil
            und dem CSS-Teil rauskopiert, der so hoffe ich die Problematik verdeutlicht.

            table.haupt          
            

            {
               position:absolute;
               top:80px;
                left:200px;
                width:300px;
                border=0;
              }
            table.rech        
              {
               position:absolute;
               top:80px;
                left:550px;
                border=0;
              }

            <table class ="haupt">  
            <!--<form  method="POST" id="extra">-->  
            <tr><th colspan="2">Tabellenname</th></tr>    
            

            <xsl:for-each select="INPUT/FLDNAME">
               <xsl:if match="*">  
                    <tr class="kont">          
                      <td class="bez">
                       <xsl:value-of select="Feldbezeichner" />
                      </td>
                    <td>
                     <xsl:value-of select="Feldwert" />
                    </td>
                  </tr>  
               </xsl:if>    
              </xsl:for-each>
              
              <tr>
              <tr><th colspan="2"><xsl:value-of select="Tabellenname2" /></th></tr>  
              <xsl:for-each select="INPUT/FLDNAME">
               <xsl:if match=".[@APP='extra']">  
                    <tr>          
                      <td class="bez">
                       <xsl:value-of select="Feldbezeichner2" />
                      </td>
                    <td>
                     <xsl:value-of select="Feldwert2" />
                    </td>
                  </tr>  
               </xsl:if>

            Wonach ich jetzt suche wäre eine Funktion wie <a href="http://www.teamone.de/selfhtml/tdch.htm#a9">max-width</a>
            die einen Zeilenumbruch bei 300pt erzwingt, da das width Attribut mehr wie min-width funktioniert und ich würde halt gerne wissen ob man diese Funktion auch mit anderen Mitteln erreichen kann.

            Vielen Dank für eure Bemühungen.

            Gruß Henning

            1. Hallo Henning!
                
              border=0;  FALSCH!

              #haupt {
              position:absolute;
              top:80px;
              left:200px;
              width:300px;
              border:none;
              }
              #rech {
              position:absolute;
              top:80px;
              left:550px;
              border:none;
              }

              td {
              max-width:150px;
              }

              <div id="haupt">
              <form  method="POST" id="extra">
                <table width="300">
                <tr><th colspan="2">Tabellenname</th></tr>  
                
              .....
              aber ob das mit dem max-width von dem Browser auch verstanden wird?

              Grüße
              Thomas