![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Niektóre elementy <div> (np. kontener na newsy, menu) mają zaokrąglone rogi. Popatrzmy na przykład:
W powyższym przykładzie nagłówek składa się z 3 części: lewego narożnika, środka i prawego narożnika. Takie rozwiązanie pozwala na zastosowanie długości procentowej - można dowolnie rozciągnąć nagłówek. Niestety, kod HTML zajmuje więcej miejsca i nie jest uniwersalny. Popatrzmy jeszcze na stopkę - zakończenie boksu. W przykładzie może ona mieć tylko stałą szerokość. Ustalenie procentowej zawartości spowoduje deformację, bo 1 plik graficzny zawiera już narożniki. Poszukuję takiego rozwiązania, aby dało się dowolnie rozszerzać nagłówek i stopkę, ale nie wymagało to nadmiaru kodu. Najlepiej, by wystarczył jeden wpis: Jest to w ogóle możliwe? CSS 3 raczej odpada, bo nie wszystkie przeglądarki wspierają. Co jest lepsze dla użytkownika? 1) Szerokość dostosowana do szerokości przeglądarki 2) Stała szerokość - ale trzeba wybrać 1024x768 albo wyższą Ten post edytował WebCM 9.08.2010, 20:00:56 |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
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: 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; W HTML-u wystarczy tylko <h1> albo <div class="naglowek"> w zależności, gdzie umieszczamy nagłówek.-moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0; 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? 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? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 08:28 |