centeret DIV virker ikke firefox

Tags:    html css

hej

har et lille problem med at centrere DIV..
har sat: body {text-align: center}
vil derefter ha en 'main' DIV der så skal indeholde hele designet.. havde forventet denne ville blive centreret, men div boxen blir fortsat blaceret til venstre i firefox.. (det fungere fint ie6)
hva er det for fejl ??

problem 2 (også firefox relateret)
har nogle div boxe med text og et bille der floater:right.
problemet er at hvis texten er for kort, således at billedet er højere end texten stykket, går billedet ned og overlapper (altså bryder gennem borderen på den div den 'bor' i)hva der end måtte være under af design..

??hmm





5 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Et div-tag er ikke tekst og vil derfor ikke påvirkes af text-align (det ligger lidt i ordet ;)). For at centrere en div kan du gøre det her:

div
{
margin: 0 auto;
}



<br style="clear: both;"/>

Sæt den i bunden af DIVen.

Den rykkes ned under enhver float.



Indlæg senest redigeret d. 20.01.2007 23:17 af Bruger #3143
Foran din DOCTYPE har du en XML-deklaration, og det burde være en god ting. Desværre får det IE6 til at gå i quirksmode, hvor den opfører sig ganske anderledes end når den er i standards compliance mode. Man kan sige, at den går ud fra siden er slamkodet. :-)

Heldigvis er den deklaration dog som oftest 'optional', hvilket også tilfældet her, så du kan bare fjerne den. Så vil IE6 opføre sig noget mere som Firefox og IE7 m.fl.

Et godt råd er forresten at kode siden til Firefox og/eller Opera, og først derefter lave evt. ændringer eller tilføjelser, for også at få siden til at fungere fint i IE.

Hvis du gerne vil have de to div.vertical'er til at opføre sig som kolonner, bør du positionere eller floate dem. Google kan finde en masse guider om det til dig (du bør forresten også se på descendant selectors, kan jeg på din menu).

Endelig springer det mig i øjnene, at du skriver '<p class="headline">'. Hvad med at bruge et heading-element (h1-h6)? :-)



Jespers løsning er ikke anbefalelsesværdig, da de br-elementer jo kun vil have et designmæssigt formål; reelt er det misbrug. I stedet bør du enten floate billedets parent-div, eller angive overflow:auto; (egentlig skal overflow bare beregnes til at være noget andet end det defaulte 'visible') på den. I sidstnævnte tilfælde bør man dog normalt også tilføje _height:1%; ("the underscore hack"), eller en hel ny selektor: * html div#parent-div-id { height:1%; } ("the Tan hack", eller bare "star html hack"), så det også virker i ældre versioner af IE.

En artikel omkring problemet (dog fra før man fandt overflow:auto; løsningen): http://www.complexspiral.com/publications/containing-floats/



Indlæg senest redigeret d. 21.01.2007 02:20 af Bruger #4907
tak det hjalp.. men har fortsat nogle problemer:

inde i selve main DIV, der er 780px bred, er der plaseret 2 vertikale DIV, ved siden af hinanden for at dele siden op i 2 kolonner, disse er sat til
display: inline;
inden i hver af disse er der så andre DIV med diverse indehold..

problemet er at de to vertkale DIV blir vist under hinanden (altså i forlængelse af hinanden)
alt dette virkede fint i IE6, men firefox og IE7 læser det åbenbart anderledes ??

siden det gælder: http://nomadenclub.com/



Indlæg senest redigeret d. 22.01.2007 19:10 af Bruger #5670
t