Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS]Arkusz CSS wyłącznie dla IE.
bushaya
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.08.2009

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


Mam następujący problem użyłem następującego kodu, aby IE dostał oddzielny arkusz CSS.
<!--[if IE]>
<link rel="stylesheet" href="styles-ie.css" type="text/css" />
<![endif]-->
<link rel="stylesheet" href="styles.css" type="text/css" />
Niestety to nie działa, coś robię źle, czy czy to jest niewłaściwy kod?
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Spróbuj najpierw wczytać style.css a potem style-ie.css

Bo mi się zdaje że jak na IE wczytujesz plik style-ie.css a potem nadpisujesz tym style.css


--------------------
Go to the top of the page
+Quote Post
Robert1985
post
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 7
Dołączył: 5.08.2009
Skąd: Tychy

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


Kolega ma rację , zamień kolejność właśnie sprawdziłem powinno działać, staraj się również nie dawać niepotrzebnych spacji ,bo IE niekiedy źle je odczytują (masz spację przed /> )


--------------------
"Istnieją dwa sposoby projektowania oprogramowania. Można napisać je tak prosto, że w oczywisty sposób nie będzie w nim niedoskonałości; można też uczynić je tak skomplikowanym ,że nie będzie w nim żadnych oczywistych niedociągnięć.Pierwsza metoda jest znacznie trudniejsza." C.A.R Hoare
Go to the top of the page
+Quote Post
bushaya
post
Post #4





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.08.2009

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


Hmm.. próbowałem, lecz nie zadziałało. Zwykły styl nadpisuje ten z IE obojętnie jak by był ustawiony. Jeżeli usunę linie kodu do zwykłego CSS'a i pozostanie tylko ten z IE to wtedy dopiero interpretuje go poprawnie.
Go to the top of the page
+Quote Post
_olo_1984
post
Post #5





Grupa: Zarejestrowani
Postów: 289
Pomógł: 77
Dołączył: 5.08.2006

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


wczytaj najpierw style dla wszsytkich przeglądarek. Jeżeli jakiś element musisz poprawić dla ie to w osobnym pliku np. style_ie.css daj sam ten element z właściwością, którą chcesz zmienić oraz z !important.


--------------------
awake
Go to the top of the page
+Quote Post
korkie
post
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 9
Dołączył: 7.03.2009
Skąd: Łódź

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


Dynamiczne sprawdzanie IE7:
  1.  
  2. $browser = $_SERVER['HTTP_USER_AGENT'];
  3.  
  4. $IE7 = stripos($browser, 'MSIE 7');
  5.  
  6. if ( $IE7 > 0 )
  7. {
  8. echo '<link href="css/IE7.css" type="text/css" rel="stylesheet" media="print" />'
  9. }
  10. else
  11. {
  12. echo '<link href="css/css_default.css" type="text/css" rel="stylesheet" media="print" />'
  13. }


MUSI DZIAŁAĆ exclamation.gif!
Go to the top of the page
+Quote Post
erix
post
Post #7





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




Cytat
Dynamiczne sprawdzanie IE7:

Muchy w pokoju też rozwalasz krzesłem?

http://kurs.browsehappy.pl/HTML/Komentarze


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

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
bushaya
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 27.08.2009

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


Witam ponownie, sprawę już rozwiązałem. Opiszę bo może komuś się przydać, kod wygląda tak:
<!--[if IE]>
<link rel="stylesheet" href="styles-ie.css" type="text/css" />
<![endif]-->
<link rel="stylesheet" href="styles.css" type="text/css" />
odnośnik do stylu ogólnego ukryłem poprzez taki znacznik:
<!--[if !IE]>-->
ukryty
<!--<![endif]-->
Go to the top of the page
+Quote Post
korkie
post
Post #9





Grupa: Zarejestrowani
Postów: 48
Pomógł: 9
Dołączył: 7.03.2009
Skąd: Łódź

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


Cytat(erix @ 27.08.2009, 20:15:06 ) *
Muchy w pokoju też rozwalasz krzesłem?

http://kurs.browsehappy.pl/HTML/Komentarze


Muchy - tylko jak wypiję.
Na tej stronce co dałeś link są bardzo przydatne informacje.
Ale wspomniałem o dynamicznym sprawdzaniu przeglądary, bo wtedy nie muszisz mieć kilka arkuszy stylów.
Jakby zakładający wątek coś spytał więcej to bym mu temat rozwinął.
Wystarczy plik .php zamiast .css z nagłówkiem
  1. header("Content-Type: text/css");

Plik ci sprawdza jaka jest przeglądara i dynamicznie można zmieniać cały arkusz stylu.
I masz jeden arkusz stylu zamiast kilku.

Złe rozwiązanie ?


Go to the top of the page
+Quote Post
ziqzaq
post
Post #10





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Witam.
IMHO pierwsza rada powinna działać jeśli kod jest poprawny.
Po co zaprzęgać do tego php?
Cytat
Plik ci sprawdza jaka jest przeglądara i dynamicznie można zmieniać cały arkusz stylu.
I masz jeden arkusz stylu zamiast kilku.

Czyli dla jednej przeglądarki arkusz ze wszystkimi stylami, i dla drugiej to samo?
Chciałoby ci się wprowadzać zmiany w tych arkuszach?
Nie lepiej jeden podstawowy i drugi z poprawkami? Mniej roboty.
Przeglądarka z (w miarę) dobrym wsparciem standardów ściągnie tylko podstawowy arkusz a taki IE6 niech dociąga poprawki smile.gif
Cytat
Złe rozwiązanie ?

Jeśli można to zrobić komentarzami warunkowymi IMO złe.
Pozdr.
Go to the top of the page
+Quote Post
korkie
post
Post #11





Grupa: Zarejestrowani
Postów: 48
Pomógł: 9
Dołączył: 7.03.2009
Skąd: Łódź

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


Cytat(ziqzaq @ 28.08.2009, 10:01:39 ) *
Czyli dla jednej przeglądarki arkusz ze wszystkimi stylami, i dla drugiej to samo?


Nie - nie rozumiesz - jeden arkusz ze wszystkimi stylami dla wszystkich przeglądarek.

Cytat(ziqzaq @ 28.08.2009, 10:01:39 ) *
Nie lepiej jeden podstawowy i drugi z poprawkami? Mniej roboty.


Dostosowujesz swoje strony tylko do dwóch przeglądarek ?
Zdajesz sobie sprawę, że w sumie masz kikadziesiąt kombinacji przegladarek i ich wersji ?
Nie każdy internauta ma kompa z windowsem i Ie lub FF.
Strony robione przez najlepszych css-masterów sypią się prawie zawsze na conajmniej 10% z tej puli.
Konieczne jest dużo więc więcej niż dwa arkusze.
Chyba, że masz gdzieś internautów korzystających z mniej znanych przeglądarek.



NAPRAWDĘ TAK MAŁO OSÓB O TYM SŁYSZAŁO ?
blinksmiley.gif

Ten post edytował korkie 28.08.2009, 09:15:57
Go to the top of the page
+Quote Post
ziqzaq
post
Post #12





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Cytat
Nie - nie rozumiesz - jeden arkusz ze wszystkimi stylami dla wszystkich przeglądarek.

To po co w takim razie sprawdzanie przeglądarki w php?
Czy może ta wypowiedź nie była związana z wyrywaniem przeglądarki?

Jestem ciekaw, rozwiń temat.

\\ Edit
Może tobie chodziło o dynamiczną zmianę (przez php) zawartości arkusza?
\\ Edit2
Ups, już odpisałeś

Ten post edytował ziqzaq 28.08.2009, 09:21:49
Go to the top of the page
+Quote Post
korkie
post
Post #13





Grupa: Zarejestrowani
Postów: 48
Pomógł: 9
Dołączył: 7.03.2009
Skąd: Łódź

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


Cytat(ziqzaq @ 28.08.2009, 10:15:01 ) *
To po co w takim razie sprawdzanie przeglądarki w php?
Jestem ciekaw, rozwiń temat.

Bo w dynamicznym arkuszy robisz sobie tylko zmienne, np:
  1. <?php
  2. header("Content-Type: text/css");
  3. $browser = $_SERVER['HTTP_USER_AGENT'];
  4.  
  5. // kod do przypisania zmiennej $browser wartości dot. przegladary - można go zrobić na setki sposobów
  6.  
  7. if ( $browser = 'MSIE' )
  8. $szerokość_div_gora = 100;
  9. if ( $browser = 'Mozilla')
  10. $szerokość_div_gora = 200;
  11. if ( $browser = 'Netscape 8' )
  12. $szerokosc_div_gora = 0;
  13. if ( $browser = 'kolejna mało znana przeglądara' )
  14. $szerokosc_div_gora = 50;
  15. ?>
  16.  
  17. #div_gora {width:<?php $szerokosc_div_gora ?>px; }


I css-master w kilka godzin potnie ci stronę na kilkadziesiąt przeglądarek i ich wersji (łącznie).

Ten post edytował korkie 28.08.2009, 09:39:09
Go to the top of the page
+Quote Post
ziqzaq
post
Post #14





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Szczerze?
Nie przekonałeś mnie tym rozwiązaniem.
Pakowanie php do warstwy prezentacji.
Trzebaby to jakoś cache-ować a i tak php byłoby cały czas zaprzęgnięte do IMO niepotrzebnej roboty.

Teraz mogę się odnieść do:
Cytat
NAPRAWDĘ TAK MAŁO OSÓB O TYM SŁYSZAŁO ?

Wieeeele osób o tym słyszało, niektórzy sami wpadli na taki pomysł. Gwarantuję.

\\ Edit
IMO komentarze to jest jednak lepsze rozwiązanie. To przeglądarka decyduje i pobiera dodatkowy kod php nie jest zaprzęgnięte do tego procesu.
Prawdopodobnie są przypadki gdy pomysł z dynamicznym generowaniem css się sprawdza. Nie neguję tego.
Chętnie poznam opnie bardziej doświadczonych userów. winksmiley.jpg

Ten post edytował ziqzaq 28.08.2009, 09:29:03
Go to the top of the page
+Quote Post
korkie
post
Post #15





Grupa: Zarejestrowani
Postów: 48
Pomógł: 9
Dołączył: 7.03.2009
Skąd: Łódź

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


Może to mało spotykana metoda, ale odkąd pewien css-master uświadomił mi jak kiepsko wyglądają strony
wyświetlane bezbłednie w IE7,8 FF, Operze, Chromie, Safari - w innych przegladarach - to złapałem się za głowę.
Można każdą stronkę sprawdzić w:
http://browsershots.org/

Sam widziałem jak strony fajnie wyświetlane pod wszystkim w windowsie rozwalają się pod linuxem, apple..

Osobiście nie chciałoby mi się robić więcej niż dwóch arkuszy, więc sam stosuję jeden dynamiczny
i w kilka godzin mam stronę idealnie dopasowaną do wymagań przeróżńych przeglądarek.



Cytat(ziqzaq @ 28.08.2009, 10:25:03 ) *
Pakowanie php do warstwy prezentacji.


W Zend framework też masz php w warstwie prezentacji.
Bo szablony masz w pehapie.
Zresztą np Smarty nie są jedynym rozwiązaniem.
Wiele osób stosuje w warstwie prezentacji szablony pehapowe np. Savant itp.
Myślę, że webmasterowi, który umie coś więcej niż wpisywać zmiennie w wąsy w Smartych nie zrobi to problemu.

Wogóle każdy zrobi jak uważa.
Mi ta metoda odpowiada. Jescze mnie nie zawiodła, jest szybka i łatwa.

Pozdrawiam

Go to the top of the page
+Quote Post
varez
post
Post #16





Grupa: Zarejestrowani
Postów: 275
Pomógł: 32
Dołączył: 17.06.2007

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


Kod
http://browsershots.org/

To nie zawsze działa jak trzeba, niektore przegladarki na tym cudzie przy starcie generuja bledy.

Pod linuksem sa FF & opera, pod Mac`iem jest dzikie MacIE z tego co wiem.
I ze statystyk wychodzi ze ludzie tego ogladaja.

A uzywajacy przegladarek <0,5 % [czy iles] popularnosci sa chyba przyzwyczajeni do tego ze NIC im nie dziala,,


Korkie, niektorzy symuluja IE (chcoiaz by do omijania durnych niby zabezpieczen (tak, sa strony tylko-pod-ie o_O)) wysylajac fake nagłowki - wtedy tez dostaja zbadziewionego css`a
Go to the top of the page
+Quote Post
mls
post
Post #17





Grupa: Zarejestrowani
Postów: 677
Pomógł: 89
Dołączył: 31.08.2003
Skąd: Warszawa

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


Cytat(korkie @ 28.08.2009, 10:21:01 ) *
Bo w dynamicznym arkuszy robisz sobie tylko zmienne, np:
(...)
I css-master w kilka godzin potnie ci stronę na kilkadziesiąt przeglądarek i ich wersji (łącznie).


Wobec tego dlaczego żaden prawdziwy "css-master" nie stosuje wspomnianego przez Ciebie sposobu? Bo jest to sposób najgłupszy z możliwych. Zamiast pisać poprawne style, które działają w 90% przeglądarek + warunkowe komentarze i style dla pozostałych 10%, wyręczasz się skryptem PHP. Oznacza to po prostu tyle, że nie masz żadnego pojęcia o CSS.
Nie zapominaj również, że liczących się przeglądarek jest raptem kilka. Safari (Mac, Win), Firefox (Mac, Win, Linux), IE (Win + Wine) i ostatecznie Opera (Mac, Win, Linux). I nic ponad to.

Ten post edytował mls 28.08.2009, 11:00:46


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #18





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




Cytat
I css-master w kilka godzin potnie ci stronę na kilkadziesiąt przeglądarek i ich wersji (łącznie).

A wyjaśnij mi teraz jedno: dlaczego goście mojej strony, którzy używają normalnych przeglądarek, mają być katowani niepotrzebnymi danymi? Poza tym, stosując detekcję z góry:
  1. zżerasz niepotrzebnie zasoby
  2. bez dodatkowych zabiegów uniemożliwiasz cache'owanie
  3. gdy ktoś ma spoofnięty user-agent albo uwaloną konfigurację przeglądarki - zamiast wczytać odpowiednią stronę - otrzymuje rozjechaną papkę
  4. zechcesz zabrać stronę na prezentację, nie ma postawionego httpd+php, a nie wiesz, jaka będzie przeglądarka - LEŻYSZ i zamiast merytorycznie się przygotowywać, nadrabiasz to, co chciałeś "zaoszczędzić" poprawiając style na szybko


Cytat
NAPRAWDĘ TAK MAŁO OSÓB O TYM SŁYSZAŁO ?

Nie. Po prostu mało kto stosuje, gdyż jest to rozwiązanie bez sensu.


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

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
ziqzaq
post
Post #19





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

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


Cytat
W Zend framework też masz php w warstwie prezentacji.
Bo szablony masz w pehapie.

Tak, zgadza się z jednym ale.
Nie pakuję php tam gdzie nie muszę a szablony w Zendzie mogę wrzucić sobie do cache żeby nie pobierać i parsować non-stop tych samych danych.
Poza tym dziwne porównanie:
- css (szablon zwykle niezmienny - ustalasz wygląd i koniec),
- (x)html (z danymi pobieranymi np. z bazy danych - czyli treść strony może się zmieniać).
Cytat
Może to mało spotykana metoda, ale odkąd pewien css-master uświadomił mi jak kiepsko wyglądają strony
wyświetlane bezbłednie w IE7,8 FF, Operze, Chromie, Safari - w innych przegladarach - to złapałem się za głowę.

Cytat
Sam widziałem jak strony fajnie wyświetlane pod wszystkim w windowsie rozwalają się pod linuxem, apple..

Wdrażałem już trochę layoutów i mimo mniejszych lub większych problemów zawsze udawało się zrobić to na czystych css + komentarze warunkowe. Oczywiście wszystkie były sprawdzane na różnych systemach i przeglądarkach. winksmiley.jpg
Pozdr.

Ten post edytował ziqzaq 28.08.2009, 12:29:15
Go to the top of the page
+Quote Post
korkie
post
Post #20





Grupa: Zarejestrowani
Postów: 48
Pomógł: 9
Dołączył: 7.03.2009
Skąd: Łódź

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


Cytat(mls @ 28.08.2009, 11:59:31 ) *
Wobec tego dlaczego żaden prawdziwy "css-master" nie stosuje wspomnianego przez Ciebie sposobu? Bo jest to sposób najgłupszy z możliwych.
Nie zapominaj również, że liczących się przeglądarek jest raptem kilka. Safari (Mac, Win), Firefox (Mac, Win, Linux), IE (Win + Wine) i ostatecznie Opera (Mac, Win, Linux). I nic ponad to.


Widocznie nigdy nie spotkałes żadnego 'prawdziwego css-mastera'.
O przegladarce Chrome też nie słyszałeś.
Flock, Netscape Navigator, czy Sea Monkey też nic ci nie mówią.
Proponuję trochę uaktualnić wiedzę, a skoro twierdzisz, że jest to sposób najgłupszy z możliwych
to uargumentuj zamiast trollować i zaśmiecać wątek.






Cytat(erix @ 28.08.2009, 12:18:05 ) *
  1. zżerasz niepotrzebnie zasoby
  2. bez dodatkowych zabiegów uniemożliwiasz cache'owanie
  3. gdy ktoś ma spoofnięty user-agent albo uwaloną konfigurację przeglądarki - zamiast wczytać odpowiednią stronę - otrzymuje rozjechaną papkę


Jakie zasoby ?
Jakie cashowanie ?
Czy plik .php z nagłówkiem wskazującym, że to css bedzie wg. ciebie inaczej potraktowany niż plik z rozszerzeniem .css ?

Jak ktos ma skapiałą przegladarkę to js też pewnie mu siądzie.
I wcale nie oznacza to, że nie odczta się css. Co najwyżej będzie to standardowy css z ustawieniami dla kilku najpopularniejszych przeglądarek.

Ten post edytował korkie 28.08.2009, 15:37:11
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Aktualny czas: 19.08.2025 - 19:54