Хорошо, поэтому я пытался решить эту проблему некоторое время.Как ни странно, демоверсия icomoon продолжала работать в IE8, а моя - нет, хотя я чувствовал, что у меня почти такая же вещь.Поэтому я начал все сводить (демонстрацию icomoon, а также мою собственную реализацию) и обнаружил две вещи, которые должны были быть там, чтобы это работало.
Сначала я обнаружил, что мне нужно сохранить кешбастерна имя файла.
Так что в моей реализации у меня было:
@font-face {
font-family: 'iconFont';
src:url('icon_font.eot');
src:url('icon_font.eot') format('embedded-opentype'),
url('icon_font.woff') format('woff'),
url('icon_font.ttf') format('truetype'),
url('icon_font.svg') format('svg');
font-weight: normal;
font-style: normal;
}
Но мне нужно было:
@font-face {
font-family: 'iconFont';
src:url('icon_font.eot?-v9zs5u');
src:url('icon_font.eot?#iefix-v9zs5u') format('embedded-opentype'),
url('icon_font.woff?-v9zs5u') format('woff'),
url('icon_font.ttf?-v9zs5u') format('truetype'),
url('icon_font.svg?-v9zs5u#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
Второе, а этот не делаетсмысл в том, что мне нужно что-то в таблице стилей с псевдоселектором :hover
.Неважно, что он включен или какие у него правила, просто нужно что-то, и тогда, когда я наведусь на них, появятся значки.
Поэтому я просто вставил [data-icon]:hover{}
в свою таблицу стилей CSSпросто так, без каких-либо правил).
Хотел бы я объяснить вам, почему это работает, но я не понимаю.Мое лучшее предположение заключается в том, что это вызывает какое-то обновление в IE8 и вызывает появление значков.