Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> CSS'y dla różnych przeglądarek, Jak to realizujecie ?
kosmowariat
post 4.03.2009, 12:28:53
Post #1





Grupa: Zarejestrowani
Postów: 235
Pomógł: 17
Dołączył: 18.07.2007
Skąd: Białystok

Ostrzeżenie: (0%)
-----


Witam
Chciałbym się dowiedziec jak robicie CSS'y dla różnych przeglądarek (czyli w sumie dla IE6 i dla reszty) ;-)
W 99% przypadków potrzebujemy drugiego CSS dla (i tu kilka epitetów tongue.gif ) dla IE6. I teraz moje pytanie : który wariant jest lepszy
1) Piszemy CSS dla "reszty", kopiujemy nanosimy poprawki dla IE6 i w zależności od przeglądarki dołączamy odpowiedniego CSS'a
2) Piszemy CSS dla reszty, a później dla IE6 ale tylko nadpisując tylko klasy/elementy które się sypią i dołączamy poprzez tzw conditional comments

Chciałbym poznac wasze opinie oraz w miarę możliwosci argumenty świadczące o wyższości, któregos z rozwiązan.

Z góry THX za udział w dyskusji

Pozdrawiam
Go to the top of the page
+Quote Post
ayeo
post 4.03.2009, 12:41:51
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Witam!

To zależy. Ogólnie już na etapie cięcia layoutu bierzesz pd uwagę IE. W idealnych sytuacjach jest wszędzie ten sam styl bez żadnych modyfikacji. Najczęściej wystarczy po prostu nadpisać margin i padding, ja robię to w tym samym pliku. Jest kilka sposobów np *margin: 0 0 0 0; każda normalna przeglądarka to olewa jako błąd składni, a IE akceptuje. Jak modyfikacji jest dużo to lepiej dać w osobnym pliku (tzw modyfikator) wszystkie hacki na IE (IE6 i trochę IE7, IE8 podobno jest ok).

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
piotrooo89
post 4.03.2009, 14:01:37
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




ja robię dwa pliki stylów. jeden dla kIEpskiego drugi dla reszty. hacki IE + komentarze warunkowe.


--------------------
Go to the top of the page
+Quote Post
kosmowariat
post 4.03.2009, 14:36:10
Post #4





Grupa: Zarejestrowani
Postów: 235
Pomógł: 17
Dołączył: 18.07.2007
Skąd: Białystok

Ostrzeżenie: (0%)
-----


chyba trochę niejasno zadałem pytanie....

  1. <?php
  2. /*Opcja 1*/
  3.  
  4. /*Plik style.css*/
  5. .klasa1 {
  6.   attr1 : val1;
  7.   attr2 : val2;
  8. }
  9.  
  10. .klasa2 {
  11.    attr3 : val3;
  12.    attr4 : val4;
  13. }
  14.  
  15. /*style_ie.css*/
  16.  
  17. .klasa1 {
  18.   /* Ta klasa jest taka sama jak w pliku style.css*/
  19.   attr1 : val1;
  20.   attr2 : val2;
  21. }
  22.  
  23. .klasa2 {
  24.    /* ta klasa została zmodyfikowana bo w IE jest BUG */
  25.    attr3 : val3_for_ie;
  26.    attr4 : val4;
  27. }
  28.  
  29. /*w tej opcji załączamy plik style_ie.css dla IE6 lub style.css dla reszty (albo jeden albo drugi)*/
  30. ?>



  1. <?php
  2. /*Opcja 2*/
  3.  
  4. /*Plik style.css*/
  5. .klasa1 {
  6.   attr1 : val1;
  7.   attr2 : val2;
  8. }
  9.  
  10. .klasa2 {
  11.    attr3 : val3;
  12.    attr4 : val4;
  13. }
  14.  
  15. /*style_ie.css*/
  16.  
  17. /* nadpisujemy tylko wartosci dla klasa2 */
  18.  
  19. .klasa2 {
  20.    /* ta klasa została zmodyfikowana bo w IE jest BUG */
  21.    attr3 : val3_for_ie;
  22.    attr4 : val4;
  23. }
  24.  
  25. /*w tej opcji zawsze załączamy plik style.css a dla IE6 i style_ie.css poprzez komentarz warunkowy */
  26. ?>


@ayeo : to jest jakieś rozwiązanie, ale wolałbym unikac hacków w stylu *margin : 0;

Ten post edytował kosmowariat 4.03.2009, 14:45:04
Go to the top of the page
+Quote Post
sowiq
post 4.03.2009, 14:55:49
Post #5





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A po co masz dwa razy powtarzać to samo? Jak przyjdzie Ci jakaś duperela np. zmiana koloru linka, to musisz w 2 plikach CSS zmieniać. Poza tym bawisz się w komentarze warunkowe typu 'if not IE'.
Moim zdaniem najłatwiej jest stworzyć arkusz, w którym będziesz miał tylko właściwości, które chcesz nadpisać dla IE, potem jeden 'if' i po sprawie.
Oczywiście zawsze lepiej napisać wszystko tak, żeby działało na tym samym arkuszu styli, ale to czasami nieosiągalne niestety.
Go to the top of the page
+Quote Post
DreeD
post 4.03.2009, 15:40:03
Post #6





Grupa: Przyjaciele php.pl
Postów: 120
Pomógł: 0
Dołączył: 29.11.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Kiedys uzywalem komentarzy warunkowych.. teraz mi wystarcza male CSS'owe hacki dla IE 6 i 7, np.

  1. div.class
  2. {
  3. margin: 10px;
  4. *margin: 10px; /* margin dla IE7, normalne przegladarki zignoruja atrybuty z * przed nazwa, IE nie tongue.gif .Wazne zeby podawac je na samym koncu listy atrybutow dla tego selektora, inaczej te dla pozostalych przegladarek je 'nadpisza'*/
  5. }
  6.  
  7. * html div.class /* selektor dla IE6 */
  8. {
  9. margin: 10px;
  10. }


Troche designow sie juz naciachalem, i do tej pory mi (prawie) nie potrzeba zadnych dodatkowych kombinacji. Wg. mnie to jest najprostsza metoda z mozliwych, i nie podwajasz niepotrzebnie fragmentow CSS'ow (np. w osobnym pliku tylko dla IE), to wszystko iles tam zajmuje, i musi sie z serwera pobrac majac jakis tam wplyw na predkosc wczytywania sie strony... Niby to male pliki, ale przy duzych projektach takich 'malych plikow' moze sie czasem nazbierac calkiem sporo.
Go to the top of the page
+Quote Post
erix
post 4.03.2009, 18:02:45
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Kiedys uzywalem komentarzy warunkowych.. teraz mi wystarcza male CSS'owe hacki dla IE 6 i 7, np.

A po co karać użytkowników normalnych przeglądarek transferem hacków dla śmIEcia? Poza tym, w większości nie przechodzą one walidacji W3C.

Cytat
z serwera pobrac majac jakis tam wplyw na predkosc wczytywania sie strony

To już problem użyszkodników Explodera. winksmiley.jpg

Dla IE wstawiam z użyciem komentarzy warunkowych, dla Firefoksa (sic!) - XBL - http://eriz.pcinside.pl/weblog/komentarze-...foksie-196.html

Czemu dla Firefoksa? A czy normalnie obsługuje :before i :after?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
.radex
post 4.03.2009, 18:38:51
Post #8





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

Ostrzeżenie: (0%)
-----


Cytat(erix @ 4.03.2009, 18:02:45 ) *
dla Firefoksa (sic!) - XBL


są też inne sposoby, "czysto"-CSS-owe


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
erix
post 4.03.2009, 19:33:43
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Owszem, ale wymagają śmiecenia arkusza dla przeglądarek renderujących CSS wg specyfikacji.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 7.07.2025 - 21:29