7

Używam ▼ charakter jako zawartość mojego elementu pseudo:CSS elementem pseudo ▼ staje bełkot w IE

a:after { 
    content: '▼'; 
} 

Działa to doskonale w nowoczesnych (czytaj: Non-IE) przeglądarek:

Here you see that it's working correctly in modern browsers

ale w IE (9), ja po prostu bełkot zamiast:

Here you see that it's broken in IE(9)


To chyba ma coś wspólnego z kodowaniem znaków, ale nie wiem od czego zacząć.

+1

Czy próbowałeś 'treści: '\ 9660';'? Czy twój plik CSS i strona internetowa używają tego samego zestawu znaków? Czy masz zestaw znaków @ w twoim CSS innym niż jego typ MIME? – alex

Odpowiedz

6

Upewnij się, że zarówno strona, jak i arkusz stylów są zakodowane i podawane jako UTF-8. Większość edytorów powinna być w stanie powiedzieć kodowanie dowolnego otwartego pliku.

Można również zdecydować się na stosowanie sekwencji Unicode \9660 zamiast, ale znowu trzeba upewnić się, że dokumenty są kodowane jako UTF-8 w przeciwnym razie może nie działać prawidłowo albo:

a:after { 
    content: '\9660'; 
} 

Albo jeśli stylów ma @charset regułę, musi wskazywać na UTF-8

@charset "UTF-8"; 

Zauważ, że @charset rules need to appear at the very beginning of a stylesheet; w pliku @import ed Uważam, że nie powinno to stanowić problemu, ale widząc, jak Sass faktycznie łączy pliki, które są połączone regułami @import podczas kompilacji, spowoduje to błędy. W przypadku Sass/SCSS musisz umieścić regułę @charset na początku swojego głównego arkusza stylów.

+1

Używam SASS i właśnie zdałem sobie sprawę, że dodają '@charset" IBM437 ";' na początku mojego pliku CSS. Coś, co mogę z tym zrobić? – MegaHit

+0

@MegaHit: Zmień na "@charset" UTF-8 ";' – BoltClock

+2

Czy mówisz, że muszę to zmienić po KAŻDYM czasie zapisuję mój plik SASS? Czy nie ma możliwości zatrzymania SASS przed dodaniem tego? – MegaHit

0

Możesz również spróbować, dodając obraz tła do menu.

a{background:url("http://pathtoyourimage/");}