Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS]Arkusz CSS wyłącznie dla IE.
Forum PHP.pl > Forum > Przedszkole
bushaya
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?
Wicepsik
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
Robert1985
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 /> )
bushaya
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.
_olo_1984
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.
korkie
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!
erix
Cytat
Dynamiczne sprawdzanie IE7:

Muchy w pokoju też rozwalasz krzesłem?

http://kurs.browsehappy.pl/HTML/Komentarze
bushaya
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]-->
korkie
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 ?


ziqzaq
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.
korkie
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
ziqzaq
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ś
korkie
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).
ziqzaq
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
korkie
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

varez
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
mls
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.
erix
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.
ziqzaq
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.
korkie
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.
ziqzaq
Cytat(erix)
gdy ktoś ma spoofnięty user-agent albo uwaloną konfigurację przeglądarki - zamiast wczytać odpowiednią stronę - otrzymuje rozjechaną papkę

Cytat(korkie)
Czy plik .php z nagłówkiem wskazującym, że to css bedzie wg. ciebie inaczej potraktowany niż plik z rozszerzeniem .css ?

Nie chodziło o to czy przeglądarka odczyta css.
Chodziło o to, że jak ktoś zmieni identyfikację przeglądarki to możesz go uraczyć css do nie tej przeglądarki co trzeba i mu się strona rozwali.
erix
Cytat
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.

Ech, czemu jesteś taki oporny...? Kilka osób Ci mówi, że jest to złe rozwiązanie, a Ty dalej swoje.

Cytat
Jakie zasoby ?

Po co PHP ma parsować coś, czego nie musi?

Cytat
Jakie cashowanie ?

Przy normalnym schemacie postępowania, CSS jest pobierany TYLKO RAZ, a u Ciebie za każdym przeładowaniem strony.

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

Ustawiam przeglądarkę tak, że wysyła user-agent takiej treści: A CO CIE TO OBCHODZI, CZYM POBIERAM TWOJA STRONE?! - i jaki CSS zamierzasz mi wysłać? tongue.gif
mls
Cytat(korkie @ 28.08.2009, 16:36:55 ) *
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.


Po pierwsze - znam niejednego rewelacyjnego cssowca, któremu mogę tylko szczerze pozazdrościć umiejętności.
Po drugie - naucz się czytać ze zrozumieniem. Bo zdaje się, że napisałem o liczących się przeglądarkach. Chrome póki co jest wciąż (jak dla mnie) wersją testową, nie jest oficjalnie dostępne na inne platformy niż Windows (nieoficjalnie - owszem) i co w sumie najbardziej istotne - oparte jest na silniku WebKit, czyli renderuje strony tak samo jak Safari. Flock i Sea Monkey to nic innego jak Gecko - o podobieństwie renderowania stron do Firefoxa chyba wspominać nie muszę. Netscape... no proszę Cię, nie rozśmieszaj mnie i nie ośmieszaj siebie, z tą przeglądarką wiąże się już tylko historia taka jak IE6, tylko z dużo mniejszą liczbą użytkowników.
Po trzecie - jeśli chcesz kogoś pouczać, zrób to rzeczywiście mając choć odrobinę racji.

Pozostałych głupot raczej nie ma co komentować. Nie ma to jak "profesjonalne" podejście do tematu webdesignu, ech...
korkie
Cytat(mls @ 28.08.2009, 23:56:41 ) *
Chrome póki co jest wciąż (jak dla mnie) wersją testową,

Więc kup sobie jakąs gazetę komputerową nowszą niż z 2007 roku.
Cytat(mls @ 28.08.2009, 23:56:41 ) *
;Netscape... no proszę Cię, nie rozśmieszaj mnie i nie ośmieszaj siebie, z tą przeglądarką wiąże się&nbsp;już tylko historia taka jak IE6

Jednak rzeczywiście twoja wiedza o przeglądarkach zatrzymała się w czasach, gdy Microsoft z Netscape toczył wojny.
Które to były lata ? Dziewięćdziesiąte.
Słyszałeś o Netscape 9 ?
Wiesz coś innego, niż to, że na twojej wiosce używa się FF i Opery?
Znasz statystyki z innych krajów ?
Synku - nie troluj.
erix
~korkie, to do Ciebie można powiedzieć nie trolluj, bo przedstawiłem Ci logiczne i faktyczne argumenty, a Ty nadal swoje...

Cytat
Jednak rzeczywiście twoja wiedza o przeglądarkach zatrzymała się w czasach, gdy Microsoft z Netscape toczył wojny.

AOL zawiesił prace nad Netscape, teraz ma do tego wrócić, ale to są to JEDYNIE plotki. Netscape "popotopowy" korzystał z Gecko, a pewnie wiesz, co to za silnik. Obecnie, tworzenie osobnego/nowego silnika jest i biznesowo bezsensowne (ze względu na koszty i problem zebrania odpowiedniej ekipy) oraz pod względem kompatybilności (każdy silnik ma jakieś swoje odchyły).

Cytat
Wiesz coś innego, niż to, że na twojej wiosce używa się FF i Opery?
Znasz statystyki z innych krajów ?

Tak naprawdę, 99,99999% przeglądarek, to tylko inne nazwy, a tylko kilka silników się tak naprawdę liczy: pochodne IE, KHTML/WebKit, Presto, Gecko. Wszystkie te przeglądarki, których się na wiosce (bez urazy dla tych podziałów administracyjnych; są tam mądrzejsi ludzie niż z wielu miast) nie używa, typu Avant Browser, IceWeasel, to są FORKI ogólnie używanych silników. Ustosunkuj się do moich argumentów, jeśli są one wg Ciebie wyssane z palca, a nie atakujesz tylko personalnie. Dyskutujesz? Ok, ale tylko obalając/dostarczając argumentów, netykieta wszystkich obowiązuje.

Słucham Twojego ustosunkowania do moich argumentów.
korkie
Nikogo nie atakuję.

Nie cierpię poprostu dyskusji bez jakichkolwiek argumentów.

Co powiem na powyższe.
Dużo racji.
Nie mogę się jednak zgodzić co do ogólnej opinii na temat Netscape Navigatora.
Jest to przeglądarka o funkcjonalności bardzo zbliżonej do FF, posiada obsługę mi.in.
MathML, NNTP (czego bodajże FF nie posiada), IDn, Goepher i wiele innych.
Nie rozumiem traktowania tej przeglądary jakbyśmy mieli obecnie conajwyżej 2005r.


thek
Czyli innymi słowy jest to silnik gecko poszerzony o pewne funkcjonalności w stosunku do oryginału. Ale nadal jest to ten sam silnik. Gopher to jeden z pierwszych protokołów internetowych jaki powstał, więc wiele z silników nadal go posiada i pisanie o jego braku bądź nie jest nieco dziwne. Sorki, ale spieranie się czy protokół używany jakieś 10-15 lat tamu jest nadal zaimplementowany w przeglądarce to raczej nie jest punkt do podnoszenia jako argument w wyższości jednej nad inną winksmiley.jpg Poza tym z Netscape jest jak z naszą-klasą czy gg. Obecnie niemal nie istnieje poza pewnym "kręgiem kulturowym" czy też wąskim gronem społeczeństwa. Jeździłem trochę po Europie i w zasadzie nigdzie się nie spotkałem z jej użytkowaniem. W instytucjach rządził IE oraz Firefox i sporadycznie Opera. Dopiero potem gdzieniegdzie pojawił Chrome. Netscape w zasadzie niemal nie istnieje poza Stanami zjednoczonymi. A i tam nie jest już tak popularny jak niegdyś. Dlatego porównanie do gg czy naszej-klasy jest jak najbardziej trafne.
erix
Cytat
Nikogo nie atakuję.

Atakujesz, do tego przyszedł na Ciebie raport, co tylko potwierdziło moje domysły.

Cytat
Nie mogę się jednak zgodzić co do ogólnej opinii na temat Netscape Navigatora.
Jest to przeglądarka o funkcjonalności bardzo zbliżonej do FF, posiada obsługę mi.in.

Przecież to jest na Gecko... Był tryb kompatybilności z IE, tylko dwa silniki, ŻADNEGO autorskiego. Wiesz, ile jest forków Firefoksa? W chorobę, każdy może stworzyć własny, będzie Ogniolis i też będzie "inną" przeglądarką.

Cytat
MathML, NNTP (czego bodajże FF nie posiada), IDn, Goepher i wiele innych.

No ok, ale zobacz co jest z Fx 3.5 + odpowiednie rozszerzenia.

Cytat
Nie rozumiem traktowania tej przeglądary jakbyśmy mieli obecnie conajwyżej 2005r.

No bo Netscape umarł. tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.