Иконка шрифта из 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 достаточно умен, чтобы угадать пути.

Другие вопросы по тегам