eRIZ's weblog: archiwum: styczeń 2007

PHP, webdesign, Linux, Windows i inne, bo nie samym chlebem człowiek żyje

Tworzymy własny sidebar – „widżety” i :hover w IE

Jak zapewne zauważyliście, mój sidebar w końcu przeszedł pewną metamorfozę. Zgodnie z tym, co sobie obiecałem zmieniłem go, bo był „niedopracowany”. Teraz postanowiłem go „ułebodwazerować” i podzieliłem go na jakby widżety – są one raczej klasyczne. Dodatkowymi są: kalendarz, najnowsze wpisy, losowe wpisy. Co do samej postaci list z linkami – żeby nie straciły na zawartości i aby nie zajmowały tyle miejsca, to postanowiłem opisy pokazywać dopiero po wskazaniu myszą linka.

Teraz opiszę jak utworzyć każdy z takich widgetów u siebie.

Najpierw trochę teorii.

Wszystkie opisy, które pokazują się po wskazaniu myszą na link są oparte na pseudoklasie :hover. Wszystko by było OK, gdyby nie jeden problem: IE. Nie wiem, jak to jest w siódemce, ale we wszystkich pozostałych na użycie :hover bez jakichkolwiek hacków przeglądarka zezwala tylko dla elementu <a>. Nie ma sensu pchać osobnego skryptu tylko po to, aby pod IE się mógł opis pojawiać. Owszem, można by było wszystko wcisnąć link, ale specyfikacja XHTML nie zezwala na umieszczanie linków w linkach. Poza tym, inne obiekty niepotrzebnie by zmieniały wygląd. IE obsługuje technologię zwaną behaviours. Wykorzystał to autor whatever:hover, która pozwala na „normalne” używanie pseudoklas :hover czy :focus we wszystkich elementach. Ma tylko jedną wadę – nie możemy ich użyć w dynamicznie tworzonych obiektach (np. poprzez AJAX).

więcej

Szufladka