2012-03-07 5 views
3

У меня возникли проблемы с получением шрифта для правильной загрузки в IE (IE9). Прекрасно работает в Chrome.Internet Explorer не будет отображать значок шрифта с помощью @ font-face

Вы можете увидеть вопрос, посмотрев на это Fiddle. В IE9 отображается окно, в то время как в Chrome отображается звезда.

Я пользуюсь предложенным пакетом FontAwesome here. Я думаю, что проблема заключается в объявлении @ font-face в верхней части .css-файла (показано ниже). Кто-нибудь может понять, почему IE не будет отображать этот шрифт?

@font-face { 
    font-family: 'FontAwesome'; 
    src: url('../font/fontawesome-webfont.eot'); 
    src: url('../font/fontawesome-webfont.eot?#iefix') format('embedded-opentype'), 
    url('../font/fontawesome-webfont.woff') format('woff'), 
    url('../font/fontawesome-webfont.ttf') format('truetype'), 
    url('../font/fontawesome-webfont.svgz#FontAwesomeRegular') format('svg'), 
    url('../font/fontawesome-webfont.svg#FontAwesomeRegular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

ответ

3

Выяснил проблему. У меня IE9 в режиме совместимости. Когда я отключил это, шрифт начал появляться.

+0

Вы не представляете, сколько времени мне понадобилось, чтобы разобраться с одинаковой проблемой ... взял меня, как весь день, удачи в вашей работе –

0

В jsfiddle, вы не устанавливать font-family для любого элемента, вы используете курсив (i элемента), но ваш @font-face указует только обычный шрифт, а jsfiddle не демонстрирует проблему, потому что @font-face отсутствует (и не будет работать там, поскольку URL-адреса являются относительными).

Кроме того, ваш jsfiddle пытается создать сгенерированный контент, а не обычный контент. Используемый символ - это символ частного использования (U + F060), и такие символы не должны передаваться и использоваться, за исключением частных соглашений.

Лучше всего изолировать проблему в простейшем случае, чтобы устранить последствия других проблем (таких как проблемы с созданным контентом).

+0

Хорошо. Я думал, что у меня есть простейший случай в «Скрипке». Я могу воспроизвести это локально (вне среды Fiddle), но так как CSS ссылается на файлы шрифтов, мне пришлось добавить пакет FontAwesome в качестве ресурса для Fiddle. Ресурс на моем сервере не изменился с исходной загрузки с веб-сайта FontAwesome. Я считаю, что если вы посмотрите на ресурс css, на который ссылаетесь, вы увидите, что набор шрифтов будет установлен. Кроме того, поскольку шрифт возвращается в Chrome, я считаю, что относительный URL-адрес работает. –

+0

Я думаю, что это может быть недостающее значение в IIS и/или любом веб-сервере, используемом jsFiddle. Я создал образец страницы и просто загрузил его из файловой системы в оба браузера, и он отлично работает. Я проверил типы MIME в IIS, но .это уже было, и добавление других не решило проблему. –