/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
mærkelig mozilla-opførsel med div-centr
Fra : Jesper Brunholm


Dato : 18-12-02 16:15

Jeg har noget spøjst, jeg ville centrere en div i mozilla, og gjorde det
så med

style:

..center{
text-align: center;/* til msie */
margin-left: auto;
margin-right: auto;
}

<div class="center">
<div style="width: 600px; background-color: green;">
&nbsp;
</div>
</div>

- den er ikke centreret, men venstrestillet

når jeg derimod gør sådan her:
<table class="center"><tr><td>
<div style="width: 600px; background-color: green;">
&nbsp;
</div>
</td></tr></table>

så virker det fint.

Er der en god grund til det (såsom at det faktisk er illegalt at...
etellerandet)?

Det er til phonixfolk.dk/galleri.php, men jeg har lagt en "strippet"
demo på phonixfolk.dk/test.php

mvh

Jesper Brunholm

--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


 
 
Lasse Reichstein Nie~ (18-12-2002)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 18-12-02 16:51

Jesper Brunholm <nospam@brunholm-scharff.dk> writes:

> Jeg har noget spøjst, jeg ville centrere en div i mozilla, og gjorde
> det så med

> style:
>
> .center{
> text-align: center;/* til msie */
> margin-left: auto;
> margin-right: auto;
> }
>
> <div class="center">
> <div style="width: 600px; background-color: green;">
> &nbsp;
> </div>
> </div>
>
> - den er ikke centreret, men venstrestillet

Rigtigt. Den yderste div har kravene "auto" til både bredden (default)
og begge marginer. I det tilfælde får den 100% bredde og ingen margin
(den er centreret, med både højre og venstre margen på 0px).

Indholder er så et blok-element, så derfor er det ikke påvirket af
text-align, og det har bredde 600px, så det bliver venstrestillet.

Hvis du havde sat margin-left/right:auto på den inderste div, så
ville den være centreret. Det virker kun på elementer der har en
bredde mindre end 100%.

Det er nogen gange lettere at se hvad der sker hvis man sætter en
border på elementerne (eller en outline, hvis browseren understøtter
det).

> når jeg derimod gør sådan her:
> <table class="center"><tr><td>
> <div style="width: 600px; background-color: green;">
> &nbsp;
> </div>
> </td></tr></table>
>
> så virker det fint.

Det skyldes at table ikke som default tager 100% af bredden, men
tilpasser sig sit indhold. Derfor virker margin-left/right:auto.

> Er der en god grund til det (såsom at det faktisk er illegalt at...
> etellerandet)?

Til at det virker? :) Det tror jeg ikke. Det ser ud til at opføre sig
helt som det skal (Opera viser det på samme måde :).

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'

Jesper Brunholm (18-12-2002)
Kommentar
Fra : Jesper Brunholm


Dato : 18-12-02 18:26

Lasse Reichstein Nielsen wrote:
> Jesper Brunholm <nospam@brunholm-scharff.dk> writes:
>
>
>>Jeg har noget spøjst, jeg ville centrere en div i mozilla, og gjorde
>>det så med

> Rigtigt. Den yderste div har kravene "auto" til både bredden (default)
> og begge marginer. I det tilfælde får den 100% bredde og ingen margin
> (den er centreret, med både højre og venstre margen på 0px).

ahhh - egentligt logisk - tusind tak!

mvh

Jesper Brunholm
--
H.C. Andersen-Centret med nyt design: <http://www.andersen.sdu.dk/>
Phønix - dansk folk-musik fra unge musikere - <http://www.phonixfolk.dk/>


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste