Dlaczego IE nie skaluje pikseli
26 września 2005
Jak powszechnie wiadomo Internet Explorer w wersji na Windows, w odróżnieniu od swojego o wiele bardziej zaawansowanego technologicznie brata na platformę Mac, nie potrafi zwiększać bądź zmniejszać rozmiaru czcionki tekstu, jeśli jest on podany w pikselach bądź punktach. Inaczej - jednostkach nierelatywnych, nie uzależnionych od niczego. Podajesz po prostu rozmiar i dokładnie taki dostajesz.
Jednostki em, ex i % zależą od czynników wybiegających poza obiekt do którego się odnoszą. Em jest jednostką, z której wynika rozmiar w pikselach, na podstawie obiektu-rodzica. Jeśli standardowo body ma font-size: 100%, czyli przy 96dpi jest to 16px, to akapit w body określony rozmiarem czcionki 0.8em będzie miał 0.8em z tych 16px - około 12px. I tak dalej, jeśli w akapit włożymy inny element.
Ex to szerokość litery x danej czcionki. Bardzo przydatne, jeśli używamy czcionki o stałej szerokości znaku (Courier na przykład). Procenty to oczywiście część danych wymiarów, są najczęściej stosowane z jednostek relatywnych.
Piszę o tym, bo zaczynając zabawę ze stronami używałem tylko pikseli. Nie miałem nawet najmniejszego pojęcia, że można skalować tekst w przeglądarce, bo IE nie potrafił tego robić z pikselami. Do dziś nie potrafi i mu się to zarzuca jako błąd. Większym błędem jest z pewnością fakt, że aby przeskalować stronę napisaną w oparciu o em-y należy zadeklarować font-size dla body nalepiej jako 100%, nigdy w pikselach. Wracając jednak do głównego wątku - uważam, że powinna być jednostka, której nie da się skalować. Tą jednostką właśnie powinny być piksele. Jak ja mówię 200px, to ma być 200 i już. To ja robię stronę, to ja wiem co jest ok. A jak nie wiem, to się mnie:
- nie ogląda
- nie wynajmuje do projektów
- zgłasza prokuraturze (coś w stylu section 508) albo wszystkim osiołkom jakie powstały na planecie
Herezje prawie pewnie dla co niektórych, lecz zastanówmy się mocniej. Jeśli ustawiam, że w topie strony mam nagłówek o określonej pikselami wysokości fonta i odpowiedni padding, to kurczę trudno - tak chcę. Tekst główny można spokojnie ustawić na em-ach, pozwolić dzięki temu na swobodne zwiększanie rozmiaru. Dzęki temu autor strony wiedziałby na pewno, co musi udostępnić do zwiększania, z punktu widzenia dostępności, a co wręcz musi powstrzymać przed skalowaniem, aby strona się nie rozkleiła i aby elementy nie zaczęły nachodzić na siebie, powodując chaos i destrukcję na monitorze użytkownika!
Bo o to w gruncie rzeczy chodzi - skalowanie tekstu na pikselach i punktach (punkty dla druku są jednak głównie) powinno być jako dodatkowy ficzer przeglądarki, włączany na żądanie zmęczonego / starszego użytkownika, surfującego po zbyt dużej ilości stron napisanych bez jakiegokolwiek pojęcia o dostępności. Normalni webmasterzy powinni łączyć em-y i piksele, aby uzyskać zadowalający efekt, właśnie z naciskiem na skalowanie tekstu. Ale skalowanie tekstu relatywnego. Nigdy wartości ustawionych na sztywno!


