webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> porady >> xhtml + html + css

Wyśrodkowanie za pomocą CSS

autor: Patryk 'yarpo' Jar, ostatnia modyfikacja: 2007-10-27

szukaj: wyśrodkowanie css wyśrodkowanie css center center xhtml xhtml

Jeszcze klka lat temu każdy, kto chciał wyśrodkować jakiś fragment strony używał znaczników:

<center>To będzie na środku</center>

Dziś jednak nie można już czegoś takiego stosować! Należy tworzyć strony łatwe do modyfikacji, w których do stworzenia struktury używa się HTML/XHTML, a właściwości i wygląd poszczególnych elementów opisuje się w CSS. Powyższe znaczniki zostały wycofane ze specyfikacji nowszych wersji HTML.

Dlatego jeśli chcemy wyśrodkować warstwę [chodź w tym wypadku wyśrodkujemy wszystko co jest na stronie] należy zrobić coś takiego:

...
<html>
<head>
<style type="text/css">
body {
 text-align: center;
}
div {
 border: 1px solid;
 width: 50%;
}
</style>
</head>
<body>
 <div>Ta warstwa będzie wyśrodkowana</div>
</body>
</html>

Ta metoda jest jednak nie do końca poprawna... Więc dlaczego ją napisałem?! Gdyż jest sposobem na - w moim odczuciu - najgorszą przeglądarkę świata - Internet Explorer.

Nowoczesne przeglądarki poprawnie interpretujące style CSS będą miały coś takiego:

...
<html>
<head>
<style type="text/css">
div {
 border: 1px solid;
 width: 50%;
 margin: 0 auto 0 auto; /* można zapisać krócej: margin: 0 auto; */
}
</style>
</head>
<body>
 <div>Ta warstwa będzie wyśrodkowana</div>
</body>
</html>

Powyższy sposób będzie działać w Operze i Firefoxie. A żeby dany element został wyśrodkowany we wszystkich przeglądarkach można użyć:

...
<head>
<style type="text/css">
body {
 text-align: center;
}
div {
 border: 1px solid; width: 50%;
 text-align: left;
 margin: 0 auto 0 auto; /* można zapisać krócej: margin: 0 auto; */
}
</style>
</head>

Czyli, jak wynika z przykładu, starczy połączyć obie metody. W ten sposób można nie tylko wyśrodkowywać warstwy [DIV]. Można dowolny element blokowy (akapit, tabela, nagłówek itp.). Jak może już spostrzegłeś do reguły dla DIV dodałem 'text-align: left'. Dzięki temu zawartość warstwy będzie dosunięta do lewej - gdybym tego nie zrobił zarówno warstwa, jak i treść umieszczona w warstwie zostałaby wyśrodkowana - dziedziczenie.

Patryk 'yarpo' Jar

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org