Jens Gyldenkærne Clausen <jens@gyros.invalid> writes:
> Lasse Reichstein Nielsen skrev:
>
> > I den beskrivelse gør position:relative ikke noget som helst.
> > Position:relative virker lige som position:static (default),
> > ud over at man kan bruge fx left: og top: til at forskyde den.
>
> Åh ja - det havde jeg overset.
>
> >> Skal jeg virkelig overgive mig og benytte imagemap?
> >
> > Lav en kasse omkring al grafikken, sæt den position:noget,
>
> Jeg kan kun få det til at virke med absolute eller fixed - begge
> dele vil jeg gerne undgå. Jeg vil helst bare kunne placere hoved-
> div'en midt på siden, uden at skulle definere noget offset fra
> browserens kanter.
Position absolute er ikke nødvendigvis i forhold browserens kanter,
men i forhold til det nærmeste omkrandsende element der har
position:<andet end static>.
Hvis man laver en
<div style="position:relative;height:...;width:..."> ... </div>
og putter elementer inden i den der er postition:absolute, så
bliver de placeret i forhold til div'en.
Det er derfor jeg foreslår at lave en stor div med position:relative
omkring det du gerne vil flytte rundt med, og give den den rigtige
størrelse, og så placerer alle billederne med position:absolute inden
i denne. Hvis det hele skal flyttes, så fly den ydre div, og resten
flytter med.
> > og lad alt det indeni være position:absolute, placeret i forhold
> > til kassen omkring.
>
> Selv med position absolute er der tilsyneladende problemer. Sætter
> jeg den indre div til position:absolute bliver den slet ikke vist i
> IE.
Se det er underligt. IE understøttede position:absolute fint, sidst
jeg tjekkede. Det er bare fixed den ikke fatter.
> Opera 7 viser den, men placeringen skifter når jeg flytter den
> omgivende boks (det skulle den jo netop ikke).
Jo, det skal den netop, afhængigt af hvilken box den er placeret
absolut i forhold til.
> Med position:relative på den indre div får jeg vist logoet i både
> Opera og IE - men på vidt forskellige steder (denne gang er det
> Opera der "har ret").
Et element med position:relative fylder stadig på siden, lige som hvis
det var position:static (som er default, altså det samme som
ingenting). Det bliver bare vist forskudt. Positionerne absolute og
fixed piller elementet ud af det almindelige flow i dokumentet, så
dets størrelse ikke påvirker resten.
> Jeg har sat rammer på de to berørte div-elementer - se forsøget
> her: <
http://musikinfo.dk/nytsite/hojre.html>.
Jeg kan se at du også bruger float:left og float:right. Det forvirrer
selvfølgelig mig lidt mere :). Jeg har prøvet at lave det om til noget
der virker ens ved kun at bruge position:absolute til placering.
Se <URL:
http://www.infimum.dk/privat/positions-nyside.html>.
Du kunne også bruge dit top-billede som baggrundsbillede på en div,
hvor i cirklen så er placeret. Altså, istedet for
<div id="hojrekolonneTop">
<img src="images/hojre_top.gif" width="143" height="129" alt="" />
...
så
<div id="højrekolonneTop" style="background-image:url(images/hojre_top.gif)">
...
Ikke den store forskel i udseende, dog :).
> Forklaringer på
> hvorfor den røde (indre) ramme går ud over sidekanten er i øvrigt
> også velkomne - selv om jeg ikke tror at det har noget med
> placeringsproblemet at gøre.
Det er fordi en div er 100% bred som default. I dette tilfælde er den nok
lige så bred som højrekollonnen (149px) og ikke som biledet i den.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'