ďťż

Osobny css do IE i Firefoxa ?

       

Podstrony


telcocafe

Witam każdy chyba spotkał się z problem różnego interpretowania stylów CSS przez różne przeglądarki, to co wygląda dobrze pod FF inaczej wygląda pod IE. Stąd moje pytanie czy można za pomocą Javascript załadować odpowiedni styl css w zależności od rodzaju przeglądarki użytkownika. np jak ktoś ma ie to strona załaduje mu się z stylem przygotowanym dla IE.
Dzięki za ewentualne podpowiedzi. :)




Witam każdy chyba spotkał się z problem różnego interpretowania stylów CSS przez różne przeglądarki, to co wygląda dobrze pod FF inaczej wygląda pod IE. Stąd moje pytanie czy można za pomocą Javascript załadować odpowiedni styl css w zależności od rodzaju przeglądarki użytkownika. np jak ktoś ma ie to strona załaduje mu się z stylem przygotowanym dla IE.
Dzięki za ewentualne podpowiedzi. :)

mozna :)

<script> if (navigator.appName.toLowerCase.indexOf("microsoft") != -1) document.write('<link type="text/css" rel="stylesheet" href="ie.css" />'); else document.write('<link type="text/css" rel="stylesheet" href="other_browser.css" />'); </script>

po co jak mozna komentarze warunkowe

http://leksykot.top..../ie-hacks.shtml
Użytkownik Mathew edytował ten post 22 listopad 2006, 16:18


Po co tworzyć dwa pliki ze stylami, skoro można zrobić to w jednym, np.

.szerokosc { width: 80px; /* Szerokość dla IE */ } html>body .szerokosc { width: 50px; /* Szerokość dla FF */ }
Użytkownik Rafał Kołaczkowski edytował ten post 23 listopad 2006, 01:28

Po co tworzyć dwa pliki ze stylami, skoro można zrobić to w jednym, np. Po co korzystac z hackow robiac kod niezgodny ze standardami, a takze rozrastajacy sie i nieczytelny? O niebo lepiej rozdzielic to na kilka plików.


<script> if (navigator.appName.toLowerCase.indexOf("microsoft") != -1) document.write('<link type="text/css" rel="stylesheet" href="ie.css" />'); else document.write('<link type="text/css" rel="stylesheet" href="other_browser.css" />'); </script>

dzięki za odpowiedź ale podany skrypt coś mi nie działa, wpisuje go w sekcje head podaje ścieżkę do css ale nic się nie dzieje :(

wtrące swoje dwa grosze
otóż ostatnio sporo zajmuje się robieniem w .css i nie widze potrzeby pisania w js skryptu i tworzenie 2 plików stylów skoro są proste sztuczki i hacki które pozwalają na ujednolicenie. Wystarczy skorzystać z prostego hacka wykorzystujący silnik przeglądarek. Otóż FF, Opera itp korzystają z Geko (chyba nazwy nie pomyliłem) a IE ze swojego.
jeżeli napiszesz

#id { parametry}
html>body #id { parametry }

to pierwsza będzie interpretowana przez IE a druga przez te z Geko ponieważ IE nie potrafie drugiego zapisu z intrepretować, a te z Geko potrafią i stoi on dla nich wyżej w hierarchi dlatego korzystają z niego. Chyba dośc jasno napisałem :)


dzięki za odpowiedź ale podany skrypt coś mi nie działa, wpisuje go w sekcje head podaje ścieżkę do css ale nic się nie dzieje :(
skorzystaj z komentarzy warunkowych, będziesz miał pewność, że IE wczyta odpowiedni plik - w przypadku JS nie wczyta Ci wtyli jeśli użytkownik wyłączy JS


wtrące swoje dwa grosze
otóż ostatnio sporo zajmuje się robieniem w .css i nie widze potrzeby pisania w js skryptu i tworzenie 2 plików stylów skoro są proste sztuczki i hacki które pozwalają na ujednolicenie. Wystarczy skorzystać z prostego hacka wykorzystujący silnik przeglądarek. Otóż FF, Opera itp korzystają z Geko (chyba nazwy nie pomyliłem) a IE ze swojego.
jeżeli napiszesz

#id { parametry}
html>body #id { parametry }

to pierwsza będzie interpretowana przez IE a druga przez te z Geko ponieważ IE nie potrafie drugiego zapisu z intrepretować, a te z Geko potrafią i stoi on dla nich wyżej w hierarchi dlatego korzystają z niego. Chyba dośc jasno napisałem :)

nie masz racji, im bardziej ujednolicony jest kod tj. posegregowany (np. na pliki) tym wydajniej można go modernizować. korzystając z hacków można często się pomylić przy jakichkolwiek modyfikacjach i wtedy dużo więcej czasu zajmie ci odszukanie błędu, niż od razu zrobiłbyś dobrze.

Opera ma swój silnik ;)

marines masz rację, ale tylko po części :P

jeżeli do pliku dorzucisz odpowiednie komentarze, powyróżniasz pewne rzeczy to z przyszłymi modyfikacjami nie ma najmniejszego problemu nawet dla osoby która przejmuje po tobie pliki i musi coś zmienić. Widać wszystko jak na dłoni. a IE wbrew pozorą aż tak bardzo nieodbiega przy interpretacji kodu jakby się mogło wydawać i wcale tak dużo tych hacków nie trzeba stosować :)


Po co korzystac z hackow robiac kod niezgodny ze standardami, a takze rozrastajacy sie i nieczytelny? O niebo lepiej rozdzielic to na kilka plików.
Dlaczego niezgodny ze standardami? Mam tak u siebie na stronie i validator nie zgłasza nawet ostrzeżenia. Selektor dziecka jest zgodny ze standardami, to że coś nie jest interpretowane przez IE to nie znaczy, że jest niezgodne ze standardami.

Kod moim zdaniem jest czytelny ;) Ja np. wolę mieć wszystko w jednym pliku.
Użytkownik Rafał Kołaczkowski edytował ten post 24 listopad 2006, 13:06

Ja np. wolę mieć wszystko w jednym pliku.

ja też dlatego wole zastosować pare hacków i wszystko ładnie okomentować. Gwarantuje, że przyłożenie się do tych detali da znacznie większą czytelność i niż rozbicie jednego pliku css na kilkanaście. Coś takiego ma sens - moim zdaniem - wyłącznie przy naprawdę ogromnych projektach, ale po pierwsze:
takich rzeczy nie robi się samemu
po drugie,
takich rzeczy nie robi się za często

pozdrawiam\


Dlaczego niezgodny ze standardami? Nie wszystkie hacki są zgodne ze standardami.

jednego pliku css na kilkanaście Ta, kilkaset nawet ... Najczesciej robi sie dwa dla badzIEwia i dla dobrych przeglądarek.

Porobisz większe strony, zobaczysz co jest wygodniejsze...


Porobisz większe strony, zobaczysz co jest wygodniejsze...

No już nieraz wspomagałem kumpla przy dużych projektach i poważnie nie widze wygody w rozbijaniu tego.

Słuchaj z tym jest troche jak z kobietami...każdemu wg. jego gustu. Potrafie napisać zgodnie ze standardami style w jednym pliku a ty to robisz w dwóch plikach. Zasadniczo nie ma różnicy jeżeli chodzi o szybkość działania...tobie jest wygodniej tak a mi tak więc zasadniczo nie widze potrzeby dalszego rozwodzenia się :) szanuje każdą metodę jeżeli twórca potrafi dobrze to zrobić zgodnie ze standardami hehe :)


Porobisz większe strony, zobaczysz co jest wygodniejsze...
Strony robie dłużej niż ty, u mnie przynajmniej żadnych ostrzeżeń nie wywala. A poza tym to jest Selektor dziecka - to jest zgodne ze standardami. Moja strona działa w różnych przeglądarkach jednakowo i jak wyżej napisałem validator błędów nie zgłasza.
Użytkownik Rafał Kołaczkowski edytował ten post 24 listopad 2006, 18:24

validator błędów nie zgłasza. Umiesz czytać?
Nie wszystkie hacki są zgodne ze standardami.
Większość hacków nie działa dodatkowo w IE7

Strony robie dłużej niż ty Nie kwestionuje, a miales do czynienia z projektami zawieracjacymi > 100 klas z rozbudowanym wygladem, ktory musisz wykonac szybko, składnie nie marnujac czasu narzuconego przez klienta na szukanie po calym pliku wszystkich hackow z jakich korzystalem?

Sprobuj popisac tak kilka razy, zobaczysz ze ulatwia to prace. Kiedys tez tak pracowalem jak ty teraz i sie odzywczailem.

EDIT : OMG czy ty umiesz czytać? Piszę, że nie wszystkie - Twój przyklad jest poprawny, ale nie wszystkie hacki są - np. _width, *width nie sa
Użytkownik Mathew edytował ten post 24 listopad 2006, 19:20
http://kurshtml.boo....elektor_dziecka,elementy.html

Sam sobie przeczytaj zgodne z specyfiką CSS 2. Nie mówię, że zawsze trzeba na jednym pliku robić ale czasami jest to lepsze i wygodniejsze.


a miales do czynienia z projektami zawieracjacymi > 100 klas z rozbudowanym wygladem
Tak miałem, może nie z takimi dużymi ale nie dużo mniejszymi.


Większość hacków nie działa dodatkowo w IE7
Selektor dziecka nie jest obsługiwany nawet przez IE 6, ale nie musi bo tu chodzi o inne: Netscape/Mozilla/Firefox i Opera.
Użytkownik Rafał Kołaczkowski edytował ten post 24 listopad 2006, 19:33
Dobra widze chłopaki, że sprowokowałem pewną niepotrzebną dyskusję hehe :)
jednak sądze, że obaj się zgodzicie, że pomijając gusta twórcy istotne jest to co robimy. Bankowo metoda którą ja opisałem nie zda się zawsze, ale nie ma czegoś takiego jak uniwersalna metoda pasująca do wszystkiego. W zależności od proejktu trzeba skorzystać ze swojego doświadczenia i wybrać to co w danym momencie będzie najlepsze...

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.