Fallen][Angel: Text geht über Tabellenzelle hinaus

Moin,

ich habe mir folgende kleine Tabelle gebastelt:

<TABLE class=faketable id=faketable>
              <TBODY>
              <TR>
                <TD id=m00 onclick="show_menu('m','visible','0')">Bitte wählen
                  Sie die Linie</TD>
                <TD onclick="show_menu('m','visible','0')"><IMG height=17
                  alt="Auswahlliste öffnen"
                  src="technical_catalogue-Dateien/test.bmp" width=17
                  align=right border=0></TD></TR></TBODY></TABLE>

Ich weiß, dass der Code nicht ganz okay ist, so schreibt der IE es aber in die Quelldatei, normalerweise sieht er anders aus. Nun habe ich aber ein Problem:

Bei einem Klick auf eine Liste, wird der String "Bitte wählen Sie die Linie" durch einen anderen String ersetzt. Es kann jedoch vorkommen, dass dieser String länger als die Tabelle ist, was dazu führt, dass der Text über die Grafik bis zum Rand geschrieben wird. Nun möchte ich dies aber nicht. Das CSS sieht dazu wie folgt aus:

.faketable
 {
  border:1px #6699CC solid;
  font-size: 10pt;
  background-color: white;
  border-collapse:collapse;
  table-layout:fixed;
  white-space:nowrap;
 }

Nun weiß ich nicht, woran es liegt, dass sich der Text nicht an die Zelle hält. Wenn mir jmd. sagen kann wieso, bin ich sehr dankbar! :)

  1. hi,

    Ich weiß, dass der Code nicht ganz okay ist, so schreibt der IE es aber in die Quelldatei, normalerweise sieht er anders aus.

    und warum zeigst du uns dann nicht, wie es "wirklich aussieht"? *seufz*

    Es kann jedoch vorkommen, dass dieser String länger als die Tabelle ist, was dazu führt, dass der Text über die Grafik bis zum Rand geschrieben wird. Nun möchte ich dies aber nicht.

    doch, genau das wolltest du - deshalb hast du ja

    white-space:nowrap;

    im CSS verwendet.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. Also du wolltest die Quelldaten sehen?

      echo("\n</table>");
        echo("\n</div>");
        echo("\n<table id="".$test[3]."" class="".$test[3]."">");
        echo("<tr>");
        echo("<td id="m00" ".$test[9].">");
        echo("&nbsp;Bitte wählen Sie die Linie</td>");
        echo("<td ".$test[9].">");
        echo($test[6]);
        echo("</td>");
        echo("</tr>");
        echo("</table>");

      Bitte *g* Im Browser ergibt das dann halt

      <table id="faketable" class="faketable"><tbody><tr><td id="m00" onclick="show_menu('m','visible','0')">&nbsp;Bitte wählen Sie die Linie</td><td onclick="show_menu('m','visible','0')"><img src="Grohe%20Water%20Technology%20-%20Service%20-%20Technischer%20Katalog_files/test.bmp" alt="Auswahlliste öffnen" align="right" border="0" height="17" width="17"></td></tr></tbody></table>

      white-space:nowrap; hatte ich eigentlich dazu benutzt, dass er mir in der Zeile keinen Umbruch darstellt. Es sollte der Effekt erzielt werden, dass der Text, welcher zuviel ist, (wie auf der passenden Seite auf SelfHTML) nach dem Zellenende verschwindet.

      1. hi,

        Also du wolltest die Quelldaten sehen?

        zumindest mal _keinen_ PHP-code, denn der ist für ein clientseitiges problem absolut uninteressant.

        Bitte *g* Im Browser ergibt das dann halt

        ... etwas absolut unleserliches.
        schon mal was von lesbarer formatierung durch zeilenumbrüche, einrückungen etc. gehört?

        white-space:nowrap; hatte ich eigentlich dazu benutzt, dass er mir in der Zeile keinen Umbruch darstellt.

        ja, dazu ist es auch gut.

        Es sollte der Effekt erzielt werden, dass der Text, welcher zuviel ist, (wie auf der passenden Seite auf SelfHTML) nach dem Zellenende verschwindet.

        nein, das leistest white-space:nowrap alleine nicht.
        da muss schon eine feste breitenangabe und/oder eine geeignete overflow-angabe hinzugenommen werden.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Die Einrückung etc. mache ich am Ende, wenn ich sicher bin, dass es auch ohne Probleme geht, somit sorry für die Lesbarkeit ;)

          Folgendes Style habe ich nun gesetzt:

          border:1px #6699CC solid;
            font-size: 10pt;
            width:200px;
            background-color: white;
            border-collapse:collapse;
            table-layout:fixed;
            white-space:nowrap;
            overflow: hidden;

          Damit geht es jedoch nicht, nun wird wieder ein Zeilenumbruch dargestellt