Wyśrodkowany div

w dziale Strony WWW w Operze
slashbeast napisał(a):

Jak w temiacie, podpowiedzcie mi jak wyśrodkować div w poziomie o szerokości 800.

Jakub81 napisał(a):

margin: auto

Uwaga: nie zadziała w badziewiu. Ale można np. wykorzystać inny błąd explodera i dać na element okalający text-align: center. Najlepiej wszystkie hacki dla ie trzymać w osobnym pliku .css.

PragmaInline napisał(a):

div#center {
left:50%;
margin-left:-400px ; /* polowa szerokosci */
}

Działa wszędzie, o ile masz zdefiniowaną szerokość bloku w którym znajduje się div#center.
pi

PragmaInline napisał(a):

div#center {
  left:50%;
  margin-left:-400px ; /* polowa szerokosci */
}


Działa wszędzie, o ile masz zdefiniowaną szerokość bloku w którym znajduje się div#center.
pi

PragmaInline napisał(a):

div#center {
  left:50%;
  margin-left:-400px ; /* polowa szerokosci */
}


Działa wszędzie, o ile masz zdefiniowaną szerokość bloku w którym znajduje się div#center.
pi

PragmaInline napisał(a):

div#center {
  left:50%;
  margin-left:-400px ; /* polowa szerokosci */
}


Działa wszędzie, o ile masz zdefiniowaną szerokość bloku w którym znajduje się div#center.
pi

Zajec napisał(a):

Powyższa metoda z powodzeniem działa w IE, jedyne czego wymaga to nie przełączanie przeglądarki w quirks mode, czyli wystarczy umieścić na początku pliku doctype

I żeby być dokładnym:
margin: 0 auto;

Zajec napisał(a):

Powyższa metoda z powodzeniem działa w IE, jedyne czego wymaga to nie przełączanie przeglądarki w quirks mode, czyli wystarczy umieścić na początku pliku doctype

I żeby być dokładnym:
margin: 0 auto;

Zajec napisał(a):

Powyższa metoda z powodzeniem działa w IE, jedyne czego wymaga to nie przełączanie przeglądarki w quirks mode, czyli wystarczy umieścić na początku pliku doctype

I żeby być dokładnym:
margin: 0 auto;

Zajec napisał(a):

Powyższa metoda z powodzeniem działa w IE, jedyne czego wymaga to nie przełączanie przeglądarki w quirks mode, czyli wystarczy umieścić na początku pliku doctype

I żeby być dokładnym:
margin: 0 auto;

Zajec napisał(a):

Metoda z marginesami zadziała w IE, jeśli nie przełączymy jej w quirks mode. Należy zatem na początku pliku podać doctype

I żeby być jeszcze dokładnym:
margin: 0 auto;

(co jest równoznaczne z:
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;)

underhill_79 napisał(a):

Ja wiem, że to może głupawo zabrzmi, ale czy w takim razie, jeśli wpisać by:
{ margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto } to oznaczałoby to, że sekcja tak zdefiniowana znajdowałaby się na środku ekranu?

owiecc napisał(a):

Originally posted by underhill_79:

Ja wiem, że to może głupawo zabrzmi, ale czy w takim razie, jeśli wpisać by:
{ margin-top: auto; margin-right: auto; margin-bottom: auto; margin-left: auto } to oznaczałoby to, że sekcja tak zdefiniowana znajdowałaby się na środku ekranu?



Nie, ponieważ elementy muszą być tak blisko góry ekranu jak to tylko możliwe. Wyśrodkuje to tylko w poziomie.

Zajec napisał(a):

Poza tym wyśrodkowanie zarówno tekstu jak i bloków w pionie zostało ogólnie w CSS2 skopane. Lekarstwem ma być CSS3.

Aktualnie dla tekstu można używać (choć nie do końca "legalnie"):
display: table-cell;
vertical-align: center;

zaś dla bloków o konkretnej wysokości:
margin-top: 50%;
top: -100px;
gdzie 100 to połowa całkowitej wysokości elementu blokowego.