Grupa MagazynyInternetowe
Online: 907
Szablon, który przygotowałem w tym odcinku ma układ dwukolumnowy. Kolumny o stałej szerokości wyśrodkowane na stronie rozciągają się na całą wysokość okna przeglądarki. Wydawałoby się, nic prostszego. Jak się okaże, problemem jest wyznaczanie wysokości elementów pływających.
Włodzimierz Gajda
Gotowa witryna jest przedstawiona na rys. 1. Ma ona układ dwukolumnowy: w lewej kolumnie umieszczono treść, a w prawej menu. Menu witryny wykorzystuje efekty rollover oraz wskaźnik wybranej opcji wykonany w oparciu o style CSS.
Rys. 1. Strona główna szablonu
Sześć opcji menu jest podzielone na dwie grupy, po trzy opcje oddzielone zdjęciem kwiatu. Aktualnie wybrana opcja jest wytłuszczona i wyróżniona białym tłem (na rysunku jest to opcja in hac). Opcja wskazana kursorem myszki jest wyróżniana niebieskim tłem.
Prezentowany szablon dwukolumnowy ma następujące cechy:
Układ dwukolumnowy może mieć dwie niepożądane cechy:
Właściwość float może być wykorzystana do pozycjonowania pudełek. Takie rozwiązanie stosuję w opisywanym układzie. Elementy div#lewy oraz div#prawy umieszczam w pojemniku:
1. <div id="pojemnik"> 2. <div id="lewy"></div> 3. <div id="prawy"></div> 4. </div>
Wystarczy teraz ustalić szerokości pudełek oraz dosunąć je do lewej i do prawej strony, by otrzymać zarys układu strony:
1. #pojemnik { 2. width : 800px; 3. margin : 0px auto; 4. } 5. #lewy { 6. width : 500px; 7. float : left; 8. } 9. #prawy { 10. width : 200px; 11. float : right; 12. }
Niestety, elementy float zostały zawarte w CSS z myślą o umieszczaniu obrazów w tekście, a nie z myślą o tworzeniu układów. W tak wykonanym układzie wysokość elementu div#pojemnik będzie wynosiła 0.
Rys. 2. Problem wysokości
Problem w wyznaczaniu wysokości elementu div#pojemnik spowoduje komplikacje nie tylko w utworzeniu omawianego układu, ale nawet w zwykłym obramowaniu. Rys. 2 przedstawia obramowanie, jakie zostanie nadane elementom div#lewy, div#prawy oraz div#pojemnik przez użycie atrybutu border. Jak widać, obramowanie pojemnika nie obejmuje elementów lewego ani prawego!
IE zachowuje się zupełnie inaczej. Rys. 2 został wykonany przy użyciu Firefoksa. IE problem wysokości elementu div#pojemnik traktuje niezgodnie ze specyfikacją i... wyświetla poprawne obramowanie.
Powiązane publikacje
Komentarzy: 1
Witam
Dzięki artykuł umożliwił mi rozwiązanie problemu z którym walczyłem dobrych kilka godzin(błąd w wyświetlaniu w FF 3.0.1- w IEwyglądało wszytko ok). Super robota.
Pozdrawiam AUTORA !!!
Artykuły tego autora:
Szukając inspiracji warto zobaczyć, co robią inni projektanci. Nie zachęcamy nikogo do kradzieży, ale przedstawione strony natchną was setkami pomysłów.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: