Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[CSS 3] Box shadow w IE

Ostatnio zmodyfikowano 2013-02-10 11:25
Autor Wiadomość
ison
Temat założony przez niniejszego użytkownika
[CSS 3] Box shadow w IE
» 2013-02-10 02:05:38
Witam,
ostatnio próbowałem zmusić IE do poprawnego wyświetlania cieni (box-shadow i odpowiedniki) i natknąłem się na dziwną rzecz. Po kilku godzinach męczenia się z tą przeglądarką i nie działającymi cieniami wrzuciłem kod na pastehtml i...
Czy jakiś użytkownik IE jest w stanie racjonalnie wyjaśnić poniższy screen?
Żadne z tych dwóch stron nie są zcache'owane, screen jest autentyczny.
https://dl.dropbox.com/u/12301540/IE.png
P-76065
xevuel
» 2013-02-10 07:47:41
Wyjaśnienie akurat w tym wypadku jest bardzo proste. IE tradycyjnie zachowuje się inaczej niż inne przeglądarki i zamiast wyświetlić źródło strony, wyświetla źródło <iframe>.

Dlaczego tam działa, a u Ciebie nie? Pewnie w kodzie strony jest jakieś rozwiązanie typu CSS3 PIE, nie wgłębiałem się.

Jak sobie z tym poradzić, nie używając JS? Otóż jest to możliwe już od IE6, ale jak zwykle trzeba iść na około. Ten artykuł: http://www.useragentman.com/blog/2011/08/24 /how-to-simulate-css3-box-shadow-in-ie7-8-without-javascript/ powinien wyjaśnić trochę rzeczy. I nie ma sensu pchać na siłę wszystko do jednego .css-a, dla IE najlepiej jest stworzyć zupełnie osobny arkusz stylów.

Trzeba też pamiętać, że niektórych (wszystkich?) właściwości CSS3 IE nie chce obsługiwać bez nagłówka DOCTYPE rodem z HTML5.

PS. Pozwoliłem sobie zmienić prefiks tematu ;)
P-76067
ison
Temat założony przez niniejszego użytkownika
» 2013-02-10 11:25:16
To co się dzieje w IE to magia, już nawet szukałem tutoriali do cieniowania w IE (w tych nowych, już darowałem sobie te rozszerzenia Microsoft. dla starsych IE) i wszędzie używa się -moz-box-shadow, -webkit-box-shadow i box-shadow, i co więcej na tych stronach IE wyświetla poprawnie cień, np. tu: http://placenamehere.com/objects/blog/blur-shadow.html (ten kwadrat CSS box-shadow), we wszystkich tutorialach ten box shadow działa (poprawnie mi wyświetla), ale u mnie na stronie nie, raz skopiowałem żywcem kod z jakiegoś tutoriala, który używał właśnie jedynie tych 3 parametrów i u mnie lokalnie zaczęło działać, wyrzucałem po 1 linijce kodu żeby sprawdzić co powoduje to, że cień się nie pokazuje, doszedłem do momentu gdzie już miałem minimalny kod, cień działał, odświeżyłem jeszcze raz stronę i nie działał, cofnąłem wszystkie zmiany i nadal nie działał. Wygląda na bug IE.

//edit
OK, xevuel znalazł przyczynę na ircu :)
doctype powinien być <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Metoda z usuwaniem po 1 linijce i sprawdzaniem co jest nie tak nie działała, gdyż IE cache'owało stronę, i nawet jak się potem usunie tę linijkę i odświeży stronę to nadal działa.
P-76076
« 1 »
  Strona 1 z 1