DerRoman: Element nicht verschwinet bei position:absolut;?!

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

  1. Hi,

    .tree { background:url(img/tree.gif) no-repeat; width:65; height:74px; }[/code]

    .tree hat keine Breite.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. 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.

      1. 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

        --
        Mir geht es gut. Ich mag die kleinen Pillen, die sie mir dauernd geben.
        Aber warum bin ich ans Bett gefesselt?
      2. @@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'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)