Każdy, kto tworzy bardziej skomplikowane strony, ma problem z
jedną rzeczą - kompatybilnością z Netscape.
Nie chcę się wdawać w
spory typu "Która przeglądarka jest lepsza?", "Czy warto pisać
dla Netscape" itp. Faktem jest, że Netscape (dalej NN) inaczej interpretuje niektóre
rzeczy od Internet Explorer'a (dalej IE) lub w ogóle nie
rozpoznaje niektórych komend. Trudniej pisze się strony
kompatybilne z NN, jednakże warto czasami zadbać, żeby strona pod
tą przeglądarką była przynajmniej czytelna.
Mówiąc NN wszyscy mają na myśli wersję 4.x. Wersja 6 okazała się
niewypałem i nie zyskała dużej popularności.
Oto kilka rad, które pozwolą użytkownikom NN czytać Twoją stronę.
Tabele
- Jeśli zdefiniujesz dla tabeli tło graficzne i zagnieśdzisz w
niej drugą tabelę bez definicji tła, IE wyświetli ją z
przeźroczystym tłem. Zakładamy, że to jest nasz cel. Niestety NN
przypisze zagnieżdżonej tabeli to samo tło. Gram Gibson z
DesignNewz proponuje stworzyć białego gifa 1x1 pixeli i zapisać
go z białym kolorem przeźroczystym. Następnie przypisujemy
naszego przeźroczystego gifa do zagnieżdżonej tabeli jako jej
tło.
- Czasami zdarza się, że zostawiamy jedną komórkę pustą. IE nie
widzi w tym nic złego, ale NN pominie całą tabelę, jeśli choć
jedna komórka będzie pusta. Jeśli wielkość komórki nie jest ważna,
wstaw do niej twardą spację: W przeciwnym wypadku wypełnij
tą komórkę gifem koloru tła i odpowiedniej wielkości.
- Jeśli przypiszesz tło graficzne do tabeli w znaczniku TABLE, w
IE wszystko będzie w porządku, ale NN przypisze to tło każdej
komórce. Nie możesz więc przypisywać tła graficznego znacznikowi
TABLE.
Style
- Najbardziej uciążliwym problemem w przypadku używania styli
jest odmienne interpretowanie wielkości czcionki przez NN.
Przeszkadza to zwłaszcza w przypadku małych tekstów. Ja zawsze
definiuję wielkość czcionki za pomocą punktów (pt). Problem
polega na tym, że 7pt w NN jest nieczytelne. Rozwiązaniem jest
powiększenie czcionki w samej przeglądarce - wtedy wszystko jest
wyświetlane dobrze.
Ja polegam na odwiedzających, którzy sami do tego dojdą. Można
również napisać prosty skrypt w JavaScript, który wykrywając NN
będzie wyświetlał okno alert z tekstem: zwiększ wielkość
czcionki. Proponuję poszukać w bazach skryptów skryptu o nazwie
"browser checker" i odpowiednio go przerobić. Strony ze skryptami
znajdziecie w katalogu CzasNaE-Biznes.
Tutaj proponuję testowanie, bo nie da się podać najlepszych
rozwiązań. Przetestuj możliwości z definicją w pixelach i
punktach i wybierz tą, która najlepiej Ci odpowiada.
- Zauważyłem, że czasami NN źle interpretuje właściwości w
stylach, które zawierają spację po dwukropku przed wartością.
Bezpieczną praktyką jest pisanie wartości zaraz po dwukropku.
P {color: red}
P {color:red} - tak jest pewniej.
- Nazwy klas (.klasa) i identyfikatorów (#identyfikator) muszą być jednym słowem i nie mogą zawierać żadnych znaków specjalnych typu - czy _. Wspominam o tym, ponieważ samemu swojego czasu zrobiłem stronę łamiąc tą zasadę i efekt był tragiczny.
P.kolor_tla {background-color: red} - źle
P.kolortla {background-color: red} - dobrze
Formularze
- W przypadku rozbudowanych graficznie stron z dokładnie
wymierzonymi wymiarami każdej komórki, formularze to poważny
problem. Najczęściej ujawnia się on przy próbie zamieszczenia
formularza subskrypcji w layoucie. Idealnie dopasowujemy wielkość
pól formularza tylko po to, by pod NN ujrzeć totalny chaos.
Przyczyną jest wspomniana już odmienna interpretacja wielkości
czcionki. Pod NN pola formularzy będą zawsze szersze niż pod IE.
Istnieją dwa pewne rozwiązania. (1) Projektowanie formularza w
taki sposób, aby pod NN miał odpowiednie rozmiary. Wtedy pod IE
będzie on po prostu węższy. (2) Umieszczanie formularzy najdalej
z prawej strony layoutu - tam gdzie jego wielkość nie będzie
miała wpływu na resztę layoutu.
Podsumowanie
To na razie wszystkie rady, jakie przyszły mi do głowy. Nie ma
przeszkód, aby kontynuować ten temat - potrzebuję jednak
pomysłów. Propozycję proszę kierować na adres: pomysly@cneb.pl