Są 3 wyjścia:
1) Strona o stałej szerokości, zaś nagłówek można opisać za pomocą tagu <h1>, np.
W stylach ustawiamy obrazek tła, którym jest nagłówek o stałej szerokości.
Zalety:
+ brak nadmiarowych znaczników
+ proste i efektywne rozwiązanie problemu narożników
Wady:
- strona niedopasowana do ekranu
- przy zmianie szerokości nagłówków trzeba zmieniać plik
- jeżeli mamy nagłówki o różnej szerokości, wymagają osobnych plików tła
2) Strona o zmiennej szerokości, ale trzeba uwzględnić w kodzie HTML zaokrąglenia nagłówków:
Jakiś nagłówek
W pliku tła są wydzielone 2 narożniki oraz gradient. Arkusz CSS wybiera właściwy element z pliku za pomocą background-position. Pozostaje pytanie, czy to uniwersalne rozwiązanie.
Zalety:
+ narożniki powinny wyświetlić się w każdej przeglądarce
+ stronę można dostosować do szerokości ekranu
+ pliki tła nagłówków nie mają z góry określonej szerokości
Wady:
- nadmiarowy kod
- pozostaje pytanie, czy to zgodne z semantyką
3) Zaokrąglenia CSS 3 - rozwiązanie zaproponował porneL na grupach
Kod
border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
W HTML-u wystarczy tylko <h1> albo <div class="naglowek"> w zależności, gdzie umieszczamy nagłówek.
Zalety:
+ elastyczne zaokrąglenia, które łatwo zmodyfikować w CSS
+ nie ma potrzeby tworzyć plików graficznych z zaokrągleniami
+ stosujemy nowe możliwości przeglądarek
+ brak nadmiarowego kodu HTML
Wady:
- funkcja wciąż eksperymentalna w Firefoksie i Chrome (tzn. trzeba stosować prefiksy)
- nadmiarowy kod w CSS (ze względu na prefiksy)
- starsze przeglądarki nie wyświetlą zaokrągleń (nawet IE 8)
Nie zbadałem użycia pamięci oraz płynności przewijania, jeśli jest dużo zaokrągleń CSS 3.
Który przykład najlepszy?W powyższych przykładach <h1> oznacza nagłówek główny - zazwyczaj występuje tylko raz. Ma to korzystny wpływ na pozycjonowanie (?), a poza tym robotom łatwiej zbudować logiczną strukturę dokumentu (gdy jeszcze są <h2>, <h3>).
Tu pojawia się kolejne pytanie - czy znacznik <h1> powinien już mieć wszystkie style nagłówków z zaokrągleniami, czy być dzieckiem nadrzędnego znacznika <div> opisującego nagłówek?
<!-- ALBO -->
Wcześniej stosowałem pierwszy wariant. Mniej kodu, ale co o tym myślicie? Czy to nie ogranicza możliwości zastosowania innych stylów dla niektórych nagłówków lub użycia <h1> w innym miejscu?