[CSS 3] Box shadow w IE
Ostatnio zmodyfikowano 2013-02-10 11:25
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 |
|
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 ;) |
|
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. |
|
« 1 » |