: Home
Wyśrodkowanie za pomocą CSS
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
wtorek, 22 września 2009 19:07

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

1.<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:

01.<html>
02. 
03.    <head>
04. 
05.    <style type="text/css">
06. 
07.    body { text-align: center; }
08. 
09.    div {
10. 
11.         border: 1px solid;
12. 
13.         width: 50%;
14. 
15.    }</style>
16. 
17.    </head>
18. 
19.    <body>
20. 
21.    <div>Ta warstwa będzie wyśrodkowana</div>
22. 
23.    </body>
24. 
25.    </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:

01.<html>
02. 
03.    <head>
04. 
05.    <style type="text/css">
06. 
07.    div {
08. 
09.         border: 1px solid;
10. 
11.         width: 50%;
12. 
13.         margin: 0 auto 0 auto; /* można zapisać krócej: margin: 0 auto; */
14. 
15.    }
16. 
17.    </style>
18. 
19.    </head>
20. 
21.    <body>
22. 
23.    <div>Ta warstwa będzie wyśrodkowana</div>
24. 
25.    </body>
26. 
27.    </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ć:

01.<head>
02. 
03.    <style type="text/css">
04. 
05.    body { text-align: center; }
06. 
07.    div {
08. 
09.         border: 1px solid; width: 50%;
10. 
11.         text-align: left;
12. 
13.         margin: 0 auto 0 auto; /* można zapisać krócej: margin: 0 auto; */
14. 
15.    }
16. 
17.    </style>
18. 
19.    </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.

 

Dodaj komentarz


Kod antysapmowy
Odśwież