2009-07-18 9 views
1

ich so etwas wie diese:HTML-Tabelle ist größer als das Fenster des Browsers

<table> 
    <tr> 
    <td><nobr>hello</nobr></td> 
    <td>this column can contain a lot of text, for some rows</td> 
    <td><nobr>world</nobr></td> 
    <td><nobr>hello world</nobr></td> 
    </tr> 
    ... more rows to come 
</table> 

Grundsätzlich 3 der Säulen haben sehr kurzen Text, und ich mag, dass sie <nobr> sein. Der andere kann einen sehr langen Text haben, und ich möchte, dass er den gesamten verbleibenden Platz einnimmt. Aber was passiert, ist, dass die Tabelle größer wird als das gesamte Browserfenster, um die große Spalte unterzubringen. Wenn der Text wirklich groß ist, wird es schließlich brechen, aber es wird immer noch ein bisschen außerhalb des Fensters.

Ich versuchte Einstellung Breite, maximale Breite, aber kein Glück. Was mache ich falsch?

+0

Können Sie ein Beispiel aus der realen Welt liefern? – janhartmann

+0

In welchem ​​Browser sehen Sie das Problem? – random

+0

@Random Echo Firefox. @meep Das ist genau mein Beispiel. – ibz

Antwort

3

Ihr Beispiel verhält sich definitiv gut, wie Zyphrax sagt.

Das von Ihnen gemeldete Problem kann nur auftreten, wenn in der langen Spalte ein Wort enthalten ist, das sehr groß ist oder der Inhalt kein Leerzeichen enthält. Ist das der Fall? Möglicherweise verwenden Sie &nbsp; anstelle von Leerzeichen, und es verhindert den normalen Zeilenumbruch, den Browser automatisch ausführen.

Wenn der Text in der Spalte überhaupt nicht umhüllt, verwenden Sie meistens &nbsp; oder Sie haben vergessen, eine <nobr> irgendwo zu schließen.

Nicht sicher, ob das hilft.

+0

Sie haben Recht. Eine meiner Reihen hatte ein riesiges "Wort" (keine Leerzeichen). Ich hatte das nicht gesehen, da es weit unten in meinem Tisch lag. Vielen Dank! – ibz

1

Ich warf das nur in meinen Browser (versuchte sowohl IE8 und Firefox). Es blieb auch im Browser-Fenster:

<html> 
<body> 
    <table> 
    <tr> 
    <td><nobr>hello</nobr></td> 
    <td>this column can contain a lot of text, for some rows.</td> 
    <td><nobr>world</nobr></td> 
    <td><nobr>hello world</nobr></td> 
    </tr> 
    </table> 
</body> 
</html> 

Andernfalls könnten Sie Tricks wie Breite, um zu versuchen: 100% oder margin: 0 auto; auf dem Tisch.

1

Sie sollten das nobr-Tag nicht verwenden, es ist nicht ein gültiges HTML-Tag. Verwenden Sie stattdessen "white-space: nowrap" CSS.

z.

<td style="white-space:nowrap">your long text</td> 
Verwandte Themen