div-Bereich, dessen Breite sich automatisch anpasst
sandra
- html
0 maiskolben0 Struppi0 sandra
Hi Pro´s!
Mal wieder ein kleines Problem, ich dachte is ganz einfach, bekomms aber einfach nicht hin..
Ich habe eine Tabelle, deren Breite per Java dynamisch erzeugt wird. Aussenrum muss nun ein div (aus welchen Gründen auch immer).
Dieses div soll sich in der Breite nun automatisch anpassen. Normalerweise kein Problem dachte ich, aber das div richtet sich nach dem größt möglichen Platz, der zur verfügung steht und nicht nach dem Inhalt aus.
Kann mir jemand helfen?
<div style="???"> <!-- soll genauso breit sein wie die Tabelle -->
<table (zwischen 100 und 300px breit)>
...
</table>
</div>
vielen dank!
Gruss Sandra
Hallo!> Hi Pro´s!
Mal wieder ein kleines Problem, ich dachte is ganz einfach, bekomms aber einfach nicht hin..
In den CSS Angaben
height: auto;
LG maiskolben
Hallo!> Hallo!> Hi Pro´s!
In den CSS Angaben
height: auto;
Sorry, ich meinte width: auto;
LG maiskolben
Hi,
Sorry, ich meinte width: auto;
LG maiskolben
leider falsch, passt sich immernoch am zur verfügung stehenden Platz an, nicht an der Größe der Tabelle, habs auch schon mit min-width versucht..
Gruss Sandra
Hallo...
leider falsch, passt sich immernoch am zur verfügung stehenden Platz
an, nicht an der Größe der Tabelle, habs auch schon mit min-width versucht..
Und width: 0px;?
LG maiskolben
Hi,
Und width: 0px;?
LG maiskolben
geht leider auch nicht, der div bereich ist in diesem Fall wirklich 0px.
mein Problem, warum ich diesen Bereich brauche ist, dass sich in diesem div noch ein div befindet, dass sich wiederum an dem außeren div ausrichten soll, soll so breit sein wie die tabelle..
vielen dank und viele Grüße
Hi,
Und width: 0px;?
LG maiskolben
geht leider auch nicht, der div bereich ist in diesem Fall wirklich 0px.
mein Problem, warum ich diesen Bereich brauche ist, dass sich in diesem div noch ein div befindet, dass sich wiederum an dem außeren div ausrichten soll, soll so breit sein wie die tabelle..
vielen dank und viele Grüße
hm, nein solche Größenangaben können nicht funktionieren,
da div-Container sich nur am Eltern-Element oder aber am
Textfluß orientieren können, nicht aber am Inhalt.
Im Gegensatz zu Tabellen werden divs auch nicht größer,
wenn deren Inhalte nicht in den Raum passen, sondern
das Verhalten wird über das Attribut "overflow" geregelt, welches
aber nur die Werte "hidden", "visible", und "scroll" kennt.
Die Größe des Containers bleibt in jedem Fall konstant.
Ich versteh zwar nicht, warum man eine Tabelle überhaupt in einem
Div-Container einbetten sollte, aber wenn's denn sein muß, dann
würd' ich ein javascript-workaround vorschlagen... also so:
<head>
<script type='text/javascript'>
function justier(){
var breite=document.getElementById('inhalt').offsetWidth;
var hoehe=document.getElementById('inhalt').offsetHeigth;
document.getElementById('rahmen').style.width=breite;
document.getElementById('rahmen').style.height=hoehe;
}
</script>
</head>
<body onload='justier()'>
<div id='rahmen'>
<table id='inhalt'>
<tr>
<td>bla</td>
<td>bla</td>
<td>bla</td>
</tr>
<tr>
<td>bla</td>
<td>bla</td>
<td>bla</td>
</tr>
</table>
</div>
</body>
Das funktioniert natürlich nur dann, wenn sich
die Größe der Tabelle nicht dynamisch verändert.
Schönen Gruß!
Semaphor
Moin
Die Größe des Containers bleibt in jedem Fall konstant.
doch nur wenn eine Größe per width und height festgelegt ist!
würd' ich ein javascript-workaround vorschlagen... also so:
...
Das funktioniert natürlich nur dann, wenn sich
die Größe der Tabelle nicht dynamisch verändert.
und JavaScript überhaupt zur Verfügung steht und die benutzten Funktionen (fehlerfrei) unterstützt werden.
Gruß
rfb
Moin
Die Größe des Containers bleibt in jedem Fall konstant.
doch nur wenn eine Größe per width und height festgelegt ist!
Ach echt? Was für einen Browser nutzt Du?
Laut W3C haben Blockelemente, soweit nicht anders vorgegeben,
eine Breite von 100% einzuhalten.
Najut, aber mir ist gerad doch noch eine wesentlich elegantere
Methode eingefallen, die vielleicht sogar rfb zufriedenstellt:
<div style='float: left'>
Ich habe eine Tabelle, deren Breite per Java dynamisch erzeugt wird. Aussenrum muss nun ein div (aus welchen Gründen auch immer).
Dieses div soll sich in der Breite nun automatisch anpassen. Normalerweise kein Problem dachte ich, aber das div richtet sich nach dem größt möglichen Platz, der zur verfügung steht und nicht nach dem Inhalt aus.
Das ist auch genauso vorgesehen bei einem Blockelement.
Gibt es für dein vorgehen einen Grund?
Struppi.
Hi
Das ist auch genauso vorgesehen bei einem Blockelement.
Gibt es für dein vorgehen einen Grund?Struppi.
Ja, innerhalb von diesem div element ist noch ein div-element, dass sich wiederum an dem ersten div ausrichten soll.
eigentlich ist die aufgabenstellung, dass dieser zweite div-bereich genauso breit sein soll wie die tabelle. die tabelle wird aber dynamisch erzeugt (in Java) der div bereich darunter ist reines html..
ich bin auch gerne offen für eine andere lösung.
gruss sandra
Hi
Das ist auch genauso vorgesehen bei einem Blockelement.
Gibt es für dein vorgehen einen Grund?Struppi.
Ja, innerhalb von diesem div element ist noch ein div-element, dass sich wiederum an dem ersten div ausrichten soll.
OK, anders gefragt, gibt es einen Grund warum du soviele Elemente verschachteln willst?
Ein DIV Element ist nur dazu da, um mehrere andere Elemente zu gruppieren diese evtl. gemeinsam zu gestalten, es hat also keine Bedueutung und muss daher nur selten verwendet werden. Aber eine Tabelle kann man auch ohne ein DIV Elternelement gestalten.
Struppi.
mit tabellen gings einfacher...
Hat sich alles gelöst, vielen Dank!