Мы недавно успешно обновились до Font Awesome 5, или мы так думали.
Странная проблема, с которой мы сталкиваемся, заключается в том, что некоторые значки FA5 не отображаются, , но только иногда ,То есть на некоторых страницах значок есть, а на других его нет.
Все работало нормально и на нашем тестовом сервере.Мы видим это только на нашем производственном сервере.
Мы устанавливаем все значки одинаково, используя миксин:
@mixin icon(
$name
) {
$font-icon: map-get($font-icons, $name);
@if $font-icon {
font-family: 'Font Awesome 5 Free';
content: fa-unicode($font-icon);
font-weight: fa-weight($font-icon);
} else {
// use an image, deleted to keep it short
}
, где $font-icons
сопоставляет имя и кортеж изUnicode FontAwesome и font-weight
:
$font-icons: (
filter: ($fa-var-filter, 900),
// etc etc
$fa-var-filter
определены в _variables.scss
Font Awesome как $fa-var-filter: \f0b0;
.
для полноты, вот две вспомогательные функции:
@function fa-unicode($font) {
@return unquote("\"#{ nth($font, 1) }\"");
}
@function fa-weight($font) {
@return nth($font, 2)
}
Размышляя о том, как этот механизм может иметь такие разные результаты на одной и той же странице , я склоняюсь к тому, что нарушает компиляцию компаса или саса.Но на самом деле не самое туманное.