Podaj Dłoń 'kursorowi'

 

Summary: Netscape 6 and Mozilla support cursor quite nicely, but that's not true of some other browsers. Happily, there's a fix. Find out how to get a hand from multiple browsers when you use this property. Wielu programistów pytało kiedy Mozilla i Netscape 6+ planuje zaimplementować obsługę własności cursor. Są oni zazwyczaj zaskoczeni odkrywając, że obie przeglądarki już od dawna wspierają ten standard. Obsługa jest oparta na zatwierdzonej specyfikacji W3C dla CSS2, w odróżnieniu od dodawania własnych pomysłów.

Podstawowym problemem jest to, że: Internet Explorer 5.x dla Windows rozpoznaje wartość hand, która nie występuje nigdzie w sekcji 18.1 CSS2-- ani nigdzie indziej w specyfikacji na ten temat. Wartość najbliższa zachowaniu hand to pointer, który specyfikacja definiuje jako: "Kursor jest wskaźnikiem pokazującym odnośnik." Należy zwrócić uwagę, że nigdzie nie jest powiedziane, że ma on pokazywać rękę, ale patrząc na aktualne zachowanie przeglądarek, efekt jest właściwie taki sam.

Niestety, IE5.x/Win zupełnie nie rozpoznaje wartości pointer. Na szczęście IE6/Win i IE5.x/Mac rozpoznają pointer tak samo jak hand. Niemniej, Mozilla i Netscape 6+ w zgodzie ze specyfikacją CSS2 wspierają pointer, lecz ignorują własnościową wartość hand.

Tak więc jeżeli Mozilla/Netscape ignoruje hand a IE5.x/Win ignoruje pointer, co może zrobić autor? Poproś o oba, w odpowiedniej kolejności, a zostaniesz nagrodzony.

a {cursor: pointer; cursor: hand;}

Nie odwracaj kolejności! Jeżeli zapiszesz styl tak jak pokazany powyżej, Gecko zobaczy wartość pierwszą i zignoruje drugą, więc w efekcie dostaniesz pointer. IE5.x/Win zobaczy obie i użyje drugiej, więc dostaniesz hand. Jeżeli odwrócisz wartości, to Gecko zadziała, ale IE5.x/Win również zobaczy oba i użyje drugiego, a to nie da Ci małego wskaźnika-rączki...

Przy użyciu powyższej sztuczki możesz upewnić się, że Twoja strona pokaże wskaźnik rączki za każdym razem.

Ostrzeżenie: Powyższy przykład polecany tutaj spowoduje, że strona nie będzie się walidować, ponieważ będzie zawierać nieprawidłową wartość cursor. Autorzy stron powinni sami ocenić czy ten problem jest ważniejszy, czy mniej ważny od wsparcia IE5.x/Win.

Sprawdzanie wsparcia

Zastanawiasz się czy Twoja przeglądarka obsługuje hand i pointer? Sprawdź to w poniższej tabelce!

Ta komórka tabeli posiada styl cursor: pointer. Powinna spowodować zmianę kursora na małą wskazującą rączkę w Mozilli i Netscape 6+, IE6/Win, oraz IE5.x/Mac, lecz nie IE5.x/Win. Ta komórka tabelinie posiada atrybutu cursor zatem powinien zostać użyty domyślny kursor. Ta komórka tabeli posiada styl cursor: hand. Powinna spowodować zmianę kursora na mały wskaźnik w IE5+/Win, ale nie w Mozilli i Netscape 6.

Powiązane odnośniki

Informacje o dokumencie

  • Autor: Eric A. Meyer, Netscape Communications
  • Data ostatniej aktualizacji: Published 04 Mar 2002; Revised 30 Jan 2003
  • Informacje o prawach autorskich: Copyright © 2001-2003 Netscape. Wszystkie prawa zastrzeżone.
  • Notka: Ten artykuł orginalnie został opublikowany na stronie DevEdge.

 

Autorzy i etykiety dokumentu

Etykiety: 
 Autorzy tej strony: teoli, Ptak82, Mwd, gandalf, Dria
 Ostatnia aktualizacja: teoli,