<andreas2411@gmail.com> skrev i en meddelelse
news:1192537528.302981.144480@v23g2000prn.googlegroups.com...
On Oct 16, 2:22 pm, andreas2...@gmail.com wrote:
> Jeg har nogle giffer som er delvist gennemsigtige og som jeg gerne vil
> lægge ovenpå hinanden. De har alle samme størrelse og følgende virker
> som jeg gerne vil i både IE og Firefox:
>
> <div style="width: 256px; height: 256px;">
> <img src="img1.gif" style="position: absolute;">
> <img src="img2.gif" style="position: absolute;">
> <img src="img3.gif" style="position: absolute;">
> </div>
>
> Det burde jo sådan set gøre mig glad, men problemet er at jeg ikke
> helt forstår hvorfor det virker. Hvis jeg sætter top: 0px; og left:
> 0px; for billederne bliver de flyttet til øverste venstre hjørne af
> browservinduet. Som jeg forstår
> dette:
http://www.w3.org/TR/CSS21/visuren.html#choose-position
> burde det give samme resultat som hvis jeg udelader værdierne. Hvad
> foregår der her?
> Ok hvis jeg skriver top: y; left: x; bliver billederne faktisk
> positioneret i forhold til diven - det er åbenbart "px" der ødelægger
> det. Betyder "px" i forhold til browservinduet?
px er en enhed der betyder pixels, og top og left (og alle andre css
parametre) skal altid have en enhed sammen med en størrelse (px, pt, em, %
.....).
position:absolute; piller elementet ud af sammenhængen (det normale flow) og
du skal positionere dem i forhold til vinduet (body).
Man kan sætte absolut positionerede inden i absolut positionerede - det
indeni bliver så positioneret i forhold til det udenom.
Hvis man ikke angiver position, bruger nogle browsere stadig positionen i
forhold til normalt flow. Så hvis du ikke giver en placering, ved du reelt
ikke hvor dine elementer visses..
For at anbringe dine billeder oven på hinanden, vil jeg foreslå dig, at
bruge position:relative i stedet:
<img src="img1.gif">
<img src="img2.gif" style="position: relative; left
;">
<img src="img3.gif" style="position: relative; left
;">
hvor X er bredden af billedet.
Det er svært at designe med position : absolute.
Birger