ugrás a tartalomhoz

div-ben hogy kell középre igazítani?

grandvoyager · 2008. Jan. 23. (Sze), 11.35
Helló!

Egy szerintem triviális probléma, de nem tudom:
Hogy kell egy div-en belül egy másik div-et vízszintesen középre tenni? Pl. van egy 3 oszlopos hírportál, és az oszlopokban középre kerüljenek a képek.
text-align:center; align:center; justify:center már ki lettek próbálva. Mind a középre igazítandó div-eknek, mind a befoglaló divnek próbáltam megadni.
Nem kerül középre semmi.

Pedig biztos megoldható, nem? Hogyan?
 
1

Margin: 0 auto

Charybdis · 2008. Jan. 23. (Sze), 11.46

div.center {
   width: 50px; /*szélesség nélkül nem lehet középre tenni*/
   margin: 0 auto;
}
2

re: Margin: 0 auto

grandvoyager · 2008. Jan. 23. (Sze), 12.11
Ez a kód a belső vagy a külső div-re vonatkozik? Próbálgattam, de eddig nem jó, lehet, hogy még nem nyúltam hozzá a megfelelő div-hez.

Heh, hehh......
margin: 0 auto semmit se csinál, margin: 3 auto már csinál, de nem középre teszi, hanem FF alatt kicsit balra, IE alatt ugyanennyivel kicsit jobbra :)
3

próbálgasd

cSuwwi · 2008. Jan. 23. (Sze), 23.26
Adsz mindkét divnek egy #000 1px solid bordert, akkor látod egymáshoz viszonyított helyzetüket.
A megoldás a már említett margin: 0 auto

ez egy rövidített megadás, normális esetben 4 szám szerepel a padding, margin után (ha nincs külön megadva hogy margin-left, margin-right, stb.), sorrendben top-right-bottom-left. A kétszámos rövidítésnél a függőleges, vízszintes eltérés van rövidítve, esetünkben a margin: 0 auto-nál, az első szám a függőleges eltolás, az auto az automatikus rövidítése, ilyenkor igazít középre.

Nulla esetben nem kell mértékegység, a többiben viszont igen, így helyesen: margin: 3px auto (vagy lehet pt is, vagy amiben dolgozol)
Amúgy a belső divre kell tenni ezt a margint, és a külső divhez viszonyítva lesz középen. FFx és IE alatt is ez a megoldás.