Styl CSS dla odzielnej przeglądarki lub dla różnych rozdzielczości |
Wpisany przez Roszpun | |||
sobota, 24 lipca 2010 14:11 | |||
Tworząc stronę internetową, najczęściej obserwujemy wyniki swojej pracy w jednej przeglądarce (przykładowo Firefox). Gdy już skończyliśmy kodowanie naszej strony, chcemy zobaczyć jak wygląda w innych przeglądarkach. I co się okazuje? Jesteśmy kompletnie załamani tym co ujrzeliśmy. W Operze elementy są niepoprawnie wyświetlane, Google Chrome nie wyświetla niektórych elementów, natomiast w IE 6 nasza strona w ogóle nie istnieje. Próbujemy temu jakoś zaradzić, tworząc uniwersalny styl dla Firefox'a, Opery oraz Chrome, jednak zdajemy sobie sprawę, że dla nas to nie możliwe. Jak wiadomo dla Internet Explorer 6 możemy zastosować komentarze warunkowe. A co z resztą przeglądarek? Z pomocą przychodzi JavaScript, w którym możemy napisać polecenie warunkowe, które przeglądarka będzie interpretować tak: Jeśli nazwa przeglądarki to Opera, wstaw w sekcję head arkusz stylu pod nazwą "opera.css". W JS wyglądać to będzie w następujący sposób:
W przypadku otwarcia naszej strony w Operze zostanie wczytany arkusz stylu 'opera.css'. Również można utworzyć bardziej złożony skrypt:
Dzięki naszemu skryptowi możemy sprawić, że styl będzie odpowiednio wczytywany dla rozdzielczość naszego ekranu: Pozdrawiam Daniel Szerszeń
|
Komentarze
http://youthcoders.net/javascript/artykuly/93-dynamiczne-ladowanie-js.html
Choć zastosowanie ciekawe.
Spróbuj za pomocą tego:
http://youthcoders.net/javascript/artykuly/180-wzorzec-moduu-dobre-praktyki-js.html
przerobić to na obiekt, który pozwalałby się oderwać od takich konstrukcji:
if(navigator.appName == 'Opera','Chrome')
i ukryć to gdzieś w implementacji. A wystawić tylko interfejs. W stylu:
var oCSS = yCSSLoader();
oCSS.opera({'6' : 'plik_opera_6.css'});
oCSS.ie({'8' : 'plik_ie_8.css'});
oCSS.resolution({'800x600' : '800x600.js', '1024x768' : '1024x768.js'});
oCSS.always('file.js');