Tabelle nur so breit wie umschließende Div Container
stud@work
- html
0 ms-880 Vinzenz Mai- css
Hallo Leute,
habe mal eine generelle Frage.
Ich habe eine Tabelle in ein Div geschrieben.
CSS Eigenschaft overflow ist auf scroll.
Wächst die Tabelle beliebig nach unten, so kann ich innerhalb des divs scrollen.
Wächst die Tabelle in der Breite, nimmt sie maximal die div Breite an.
Ich will aber das die Tabelle auch in der Breite beliebig wächst und ich nach rechts scrollen kann?
Welche Eigenschaft muss man dafür ändern?
Danke.
Grüße
eigentlich müsste overflow: scroll; passen.
hast du nen link zu der seite damit ichs mit firebug ansehen kann? hast du % angaben bei der tabelle als width?
lg
hast du nen link zu der seite damit ichs mit firebug ansehen kann? hast du % angaben bei der tabelle als width?
also nen link hab ich leider nicht, aber ich kann dir mal den betreffenden css ausschnitt posten:
#rechtsmitte
{
height: 100% - 60px;
width: 100%;
position: absolute;
bottom: 35px;
top: 40px;
right: 0;
}
#rechtsmitte1 {
margin-left: 350px;
margin-top: 0px;
padding-left: 10px;
background-color: #f5f5f5;
width: 100% - 350px;
height: 50%;
max-height: 50%;
overflow: scroll;
border: solid 5px #EAEAEA;
}
#rechtsmitte2 {
margin-left: 350px;
margin-top: 0px;
padding-left: 10px;
background-color: #f5f5f5;
width: 100% - 350px;
height: 50%;
max-height: 50%;
overflow: scroll;
border: solid 5px #EAEAEA;
}
rechtsmitte beinhaltet die anderen beiden.
sowohl height als auch width sind aus prozentualen - absoluten wert angegeben.
mittlerweile habe ich festgestellt, wenn ich genug spalten in die tabelle packe, wächst es auch irgendwann in der breite mit, meiner meinung nach aber viel zu spät, denn dann sind die zellen einfach viel zu sehr gestaucht!
Ich weiß überhaupt nicht ob man % und px mischen kann ich glaube nicht.
gibt einfach nur px werte an dann solte sich das problem gelöst haben.
Hallo,
habe mal eine generelle Frage.
Ich habe eine Tabelle in ein Div geschrieben.
CSS Eigenschaft overflow ist auf scroll.
[...]
Wächst die Tabelle in der Breite, nimmt sie maximal die div Breite an.
Ich will aber das die Tabelle auch in der Breite beliebig wächst und ich nach rechts scrollen kann?Welche Eigenschaft muss man dafür ändern?
Du musst
table-layout: fixed;
in Verbindung mit einer Breite für die Tabelle sowie Breiten für die einzelnen Spalten verwenden, wobei die Summe der Spaltenbreiten nicht kleiner sein sollte als die Breitenangabe für die Tabelle.
Ob meine Beobachtungen von 2008 heute noch gelten, hab' ich nicht geprüft :-)
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
Du musst
table-layout: fixed;
in Verbindung mit einer Breite für die Tabelle sowie Breiten für die einzelnen Spalten verwenden, wobei die Summe der Spaltenbreiten nicht kleiner sein sollte als die Breitenangabe für die Tabelle.
Da würde ich aber das genaue Gegenteil behaupten: gegen table-layout: fixed;
ist zwar nichts zu sagen, wenn man es mit Breitendefinitionen in COL-Elementen oder in TD- und TH-Elementen der ersten Tabellenzeile verwendet, meiner Erfahrung nach ist es aber am besten, man gibt nur dem TABLE-Element eine Breite und höchtenfalls allen Spalten _außer_einer! Die Summe der Spaltenbreiten sollte also sogar deutlich kleiner sein als die dem Table-Element zugewiesene.
Spalten ohne Breitenangabe dienen als Pufferspalten. Sie nehmen sich dann den Rest der Gesamtbreite der Tabelle und gleichen Unterschiede der Browser aus, wenn diese ein Tabellenzellenpadding im einen Fall von der jeweils angegebenen Spaltenbreite abziehen oder im anderen Fall dazu hinzuaddieren.
So eine Art http://de.selfhtml.org/css/formate/box_modell.htm#box_model_bug@title=Box-Model-Bug feiert bei einigen Browsern nämlich, was Tabellen-Elemente angeht, auch im Standards-Mode noch fröhliche Urständ.
Gruß Gernot