Allan M forklarede den 31-08-2009:
>>> Selv indholdet på siden skulle også gerne centrere på siden imellem de 2
>>> kolonner til venstre og højre.
>
>
>> Noget af dit problem er nok, at elementerne har forskellige default værdier
>> for margin og padding. Så der kan være begge, selvom du ikke
>
> Så er de ting du har nævnt rettet ind og nu har jeg ikke nogen margen - altså
> siden fylder hele browservinduet.
>
> Mit problem nu er at få centreret indholde i midterste kolonne.
>
>
> Mvh. Allan
Det kommer lidt an på, hvad du mener med "centreret.
Enten er det teksten du tænker på - her er løsningen text-align :
center; på din "main-content" div.
Eller også er det at få main-content til at stå midt mellem de to
sidepaneler.
Du arbejder med 3 absolut positionerede elementer. Så det er et
spørgsmål om simpel matematik - måske en måden dimensionerne gives på.
Du har dem her :
#left_col {
position: absolute;
top: 65px;
left: 10px;
width: 190px;
border-right: 1px solid black;
}
#right_col {
position: absolute;
top: 65px;
right: 10px;
width: 190px;
border-left: 1px solid black;
padding: 6px;
}
#main_content {
position: absolute;
top: 80px;
margin: 0px 210px 0px 210px;
background: #0400ff;
min-width: 220px;
}
Det der ødelægger dit regnestykke, er (formentlig), at du ikke regner
paddingen med i det højre panel.
Det er reelt 190+6+6 = 202px bredt
(og her regner vi så uden dine bordere - de bør også renes med, men jeg
forstod at det kun var visuelt mens du roder med det, og de skal
fjernes igen)
Med de 10px fra højre kant er det 212px, og det går faktisk 2px ind
under din main-content.
I venstre side, har du regnet rigigt - men der er heller ingen padding
at tage hensyn til. (og jeg antager at de 10px du har mellem det
venstre panel og main-content er tilsigtede.
Så en løsning kunne være, at trække paddingen fra bredden på det højre
panel - altså width:178px; på det. Så passer tallene sammen igen B-)
Når du nu i øvrigt har absolut positioneret din main-contant, virker
det underligt på mig at bruge margin. Margin er mindste afstanden til
nærmeste element. Men absolut positionerede elementer, har ikke noget
nærmeste element. Det bliver så en mindsteafstand fra body til
indholdet - og det virker også, men ikke som andre margener (mener i
øvrigt at standarderne også siger, at man kan godt sætte margin på
absolut positionerede elementer, men man kan ikke regne med at
browserne faktisk overholder den...)
En anden og IMHO simplere måde er at angive
#main_content {
position: absolute;
top: 80px;
left : 210px;
right : 210px;
background: #0400ff;
}
Den går vist ikke i IE6, men er ellers god nok. Ved så heller ikke om
det går med margin i IE6..
Birger
--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk