kein background bei tabellenartiger DIV/CSS kombination
Max-Julan Pogner
- css
Hi!
folgendes hat nun mit mir drei nicht ganz-dummies das gehirnschmalz gekostet. eventuell findet das geplagte hirn hier eine lösung :)
DAS ZIEL (dem ideal folgend)
beispiel:
| cell 11 | cell 12| cell 13 | (bg:gray)
| cell 21 | cell 22 | (bg:silver)
| cell 31 | (bg:gray)
|c41|c42| c43| cell 44 | (bg:silver)
DER BROWSER
BESTER TABLE-FREE VERSUCH (kläglich)
<div style="background:blue; width:300px;">
<div style="float:right;width:200px;">
first right<br/>
</div>
<div style="float:left;width:100px;">
FIRST LINE LEFT<br> FIRST LINE LEFT
</div>
</div>
<div style="background:blue; width:300px; clear:both;">
<div style="float:left; width:150px;">
SECOND LINE LEFT
</div>
<div style="float:right; width:150px;">
second right<br> second right
</div>
</div>
PER TABLE WÜRDE ES GEHEN (stark hinkend)
<div style="background:silver; width:300px; display:table-row;">
<div style="float:right;width:200px; display:table-cell;">
first right<br/>
</div>
<div style="float:left;width:100px; display:table-cell;">
FIRST LINE LEFT<br> FIRST LINE LEFT
</div>
</div>
<div style="background:gray; width:300px; clear:both; display:table-row;">
<div style="float:left; width:150px; display:table-cell;">
SECOND LINE LEFT
</div>
<div style="float:right; width:150px; display:table-cell;">
second right<br> second right
</div>
</div>
Nachteil: ein style="margin-top:2ex;" der zeilen-DIVs (oder sonstiges margin-top) wird nicht beachtet.
außerdem hinkt diese variante etwas.
DIE FRAGE
über trial&error haben wir nun rausgefunden, dass bei float:right zumindest die anordnung der zellen gemäß dem ziel stattfinden.
der zeilen-hintergrund ist aber immer noch nicht sichtbar.
denn die umschließenden DIVs verkümmern zu zero-height container.
was tun um den hintergrund zu bekommen, nicht auf die flexiblen breiten der zellen zu verzichten, aber auch keine stümperhafte pseudo-table über display:table zu verwenden?
FURCHTLOSES
einiges haben wir schon probiert.
so zum beispiel viele kombinationen mit float:left.
unerklärlicher weise stimmt dann nichtmal die anordnung der zellen,
bzw fließt der text falsch um zellen herum, anstatt rechteckig zu bleiben.
wenn die border (zwecks anschaun) eingestellt ist, gehen sich die zellen einer zeile natürlich knapp nicht aus. :)
vielen dank an alle, die bis hierher durchgelesen haben!
und überschwängliche, fast erdrückende, freude all jenen, welche einen
sachdienlichen hinweis zur problematik zum besten geben kann!
Max-Julian Pogner
Hi,
DAS ZIEL (dem ideal folgend)
um was für Daten handelt es sich? Für mich wirkt das ganze wie ein Balkendiagramm.
was tun um den hintergrund zu bekommen, nicht auf die flexiblen breiten der zellen zu verzichten, aber auch keine stümperhafte pseudo-table über display:table zu verwenden?
Wieso das stümperhaft sein soll, ist mir zwar nicht ganz klar; aber ich glaube, Du hast lediglich nicht beachtet, dass bei nicht-gefloateten Elementen die enthaltenenen gefloatenen Elemente nicht in die Höhenberechnung mit einbezogen werden (dürfen).
Cheatah
Hi,
Nachteil: ein style="margin-top:2ex;" der zeilen-DIVs (oder sonstiges margin-top) wird nicht beachtet.
zeilen-Divs? Meinst Du die mit display:table-row?
Da _darf_ der margin nicht beachtet werden, tabelleninterne Elemente haben keinen margin.
cu,
Andreas