Иконка шрифта из fontello не работает с Meteor js
Я скачал шрифт с иконками из fontello и собираюсь использовать его в своем метеорном приложении. Я попробовал демо, которое идет с загруженным пакетом, и шрифты отображаются нормально. Вот мой CSS:
@font-face {
font-family: 'fontello';
src: url('fonts/fontello.eot?98991264');
src: url('fonts/fontello.eot?98991264#iefix') format('embedded-opentype'),
url('fonts/fontello.woff?98991264') format('woff'),
url('fonts/fontello.ttf?98991264') format('truetype'),
url('fonts/fontello.svg?98991264#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="icon-"]:before, [class*=" icon-"]:before {
font-family: "fontello";
font-style: normal;
font-weight: normal;
speak: none;
display: inline-block;
text-decoration: inherit;
width: 1em;
margin-right: .2em;
text-align: center;
/* For safety - reset parent styles, that can break glyph codes*/
font-variant: normal;
text-transform: none;
/* fix buttons height, for twitter bootstrap */
line-height: 1em;
}
.icon-twitter:before { content: '\e805'; } /* '' */
.icon-github-circled:before { content: '\e804'; } /* '' */
.icon-pencil:before { content: '\e801'; } /* '' */
.icon-cancel:before { content: '\e802'; } /* '' */
.icon-chat:before { content: '\e800'; } /* '' */
Моя структура папок выглядит так /client/css/styles.css
и для шрифтов /client/css/fonts/
В моем HTML я добавил эту разметку <i class="icon-twitter"></i>
и, к сожалению, все, что я вижу при просмотре страницы, это все, что я вижу Любая помощь будет отличной. Спасибо
3 ответа
Если вы хотите сослаться на ваши шрифты на your.domain.com/fonts/font_name.x
, вы должны переместить fonts
каталог в каталог с меткой public
, Вы можете получить к ним доступ, используя путь /fonts/font_name.x
,
Взгляните на неофициальный FAQ по метеориту, найденный здесь: https://github.com/oortcloud/unofficial-meteor-faq
public/ # <- статические файлы, такие как изображения, которые обслуживаются напрямую.
Или непосредственно документация по Метеору: http://docs.meteor.com/
Наконец, сервер Meteor будет обслуживать любые файлы в общедоступном каталоге, как в проекте Rails или Django. Это место для изображений, favicon.ico, robots.txt и всего остального.
Попробуйте использовать абсолютные пути:
@font-face {
font-family: 'fontello';
src: url('/client/css/fonts/fontello.eot?98991264');
src: url('/client/css/fonts/fonts/fontello.eot?98991264#iefix') format('embedded-opentype'),
url('/client/css/fonts/fontello.woff?98991264') format('woff'),
url('/client/css/fonts/fontello.ttf?98991264') format('truetype'),
url('/client/css/fonts/fontello.svg?98991264#fontello') format('svg');
font-weight: normal;
font-style: normal;
}
Также может быть лучше хранить шрифты в /public
как в производственном режиме /client
больше не будет работать, и вы снова получите эти квадраты, и вы могли бы использовать /fonts/
вместо (чтобы отобразить на /public/fonts
)
У меня была та же проблема, и я решил, используя следующие абсолютные пути:
@font-face {
font-family: 'icomoon';
src:url('/fonts/icomoon.eot');
src:url('/fonts/icomoon.eot?#iefix') format('embedded-opentype'),
url('/fonts/icomoon.woff') format('woff'),
url('/fonts/icomoon.ttf') format('truetype'),
url('/fonts/icomoon.svg#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
Прямо в публичном каталоге /fonts/. Я думаю, что MeteorJS достаточно умен, чтобы угадать пути.