Element nicht verschwinet bei position:absolut;?!
DerRoman
- css
0 MudGuard
HEy!
Ich möchte eine kleine Stadt aus einzelnen Elementen mit CSS zusammensetzen. Darum einzelne Elemente, weil ich clicks und Hover effekte brauch.
Nun funktioniert eigentlich alles, nur wenn ich einen Baum setzen will verschwindet er sobald ich ihm ein "position:absolute;" gebe?!
Dar ich überhaupt keinen Fehler finde, poste ich euch den ganzen Code:
body { padding:0px 0px 0px 0px; margin: 0px 0px 0px 0px; background:url(img/back.gif) no-repeat; }
#wrapper { width:760px; position:relative; }
/* Buildungs */
#headshop { background:url(img/headshop.gif) no-repeat; width:127px; height:146px; }
#headshop:hover { background:url(img/_headshop.gif) no-repeat; }
#flats { background:url(img/flats.gif) no-repeat; width:184px; height:350px; }
#flats:hover { background:url(img/_flats.gif) no-repeat; }
/* Building Position */
#headshop { position:absolute; left:160px; top:155px; }
#flats { position:absolute; left:10px; top:5px; }
/* Misc */
.tree { background:url(img/tree.gif) no-repeat; width:65; height:74px; }
<div id="headshop"></div>
<div id="flats"></div>
<div class="tree" style="position:absolute; top:250px; left:150px;"></div>
Vielleicht sieht ja wer von euch den Fehler?!
DAnke schonmal!
L.g. Roman
Hi,
.tree { background:url(img/tree.gif) no-repeat; width:65; height:74px; }[/code]
.tree hat keine Breite.
cu,
Andreas
Hey
.tree { background:url(img/tree.gif) no-repeat; width:65; height:74px; }
.tree hat keine Breite.
Morgen,
vieleicht so:
.tree { background:url(img/tree.gif) no-repeat; breite:65; height:74px; }
xD
Nein also an dem Fehlenden und eigentlich eh existierenden width liegt es nicht, dar der Baum ohne position:absolute; sofort oben links sichtbar ist.
Aber danke für den Versuch! ^^
L.g.
Hallo,
.tree { background:url(img/tree.gif) no-repeat; width:65; height:74px; }
.tree hat keine Breite.
Nein also an dem Fehlenden und eigentlich eh existierenden width liegt es nicht
da du für width keine Einheit angibst, ist unklar, ob du 65 Erbsen, 65 Tigerzähne oder 65 Meter meinst. Die Angabe muss daher ignoriert werden. Ein Blick in die Fehlerkonsole hätte dich darauf aufmerksam gemacht.
dar der Baum ohne position:absolute; sofort oben links sichtbar ist.
Das ist kein Argument - dann nimmt das Element ja automatisch die verfügbare Breite ein.
Ciao,
Martin
@@DerRoman:
nuqneH
Nein also an dem Fehlenden und eigentlich eh existierenden width liegt es nicht
Doch. Genauer: an dessen fehlerhaftem Wert. [CSS2 §4.3.2] Eine ungültige Deklaration bewirkt genauso wenig wie eine nicht vorhandene: gar nichts.
dar der Baum ohne position:absolute; sofort oben links sichtbar ist.
Klar, das Blockelement nimmt dann ja die ganze Breite des umschließenden Blocks ein. [CSS2 §10.3.3]
Bei absoluter Positionierung ist es (ohne explizite Breitenangabe) nur so breit wie es sein Inhat erfordert (shrink to fit). [CSS21 §10.3.7] Ohne Inhalt ist seine Breite also 0; es ist unsichtbar.
Qapla'