Использование FontAwesome с Sass

я пытаюсь использовать FontAwesome в проекте веб-компаса. Поскольку в FontAwesome страницы, и я не использую Bootstrap, я следовал "не используя Bootstrap?"маршрут, но не могу заставить его работать.

выход

я не получаю никаких конкретных ошибок, либо не найден, либо компиляции ошибок. Он просто ничего не показывает, ни значка, ни текста. На FontAwesome файлы шрифта не представляется нагрузки.

в шаги я сделал

  1. скачать font-awesome каталог
  2. скопируйте его в папку css моих проектов, где у меня есть все мои скомпилированные css:project/css/font-awesome
  3. импорт в моем главном стилей Сасс такой @import url("font-awesome/scss/font-awesome.scss");
  4. открыть font-awesome.scss file и изменить пути импорта так Теперь относительно моего CSS скомпилированного файла и выглядеть так @import url("font-awesome/scss/_variables.scss");
  5. открыть _variables.scss частично внутри шрифта-awesome / SCSS каталог и изменить @FontAwesomePath от одного по умолчанию до "font-awesome/font/", чтобы соответствовать, где webfonts
  6. в моем html-файле добавлен пример, следующий за одним в FontAwesome примеры страница, поэтому я добавил <i class="icon-camera-retro"></i> Some text
  7. в моем основном файле sass добавлена декларация @font-face

    @include font-face ('FontAwesome', файл шрифта( 'font-awesome / font/fontawesome-webfont.вофф, вофф! , 'font-awesome / font/fontawesome-webfont.ТТФ', ТЦФ, 'font-awesome / font/fontawesome-webfont.svg', svg), 'font-awesome / font/fontawesome-webfont.eot');

    значок-шрифт% { шрифт-семейство: 'FontAwesome', Helvetica, Arial, sans-serif; }

  8. расширить шрифт в селекторе

    .иконка-камера-ретро { @extend %иконка-шрифт; }

  9. скомпилируйте мою основную таблицу стилей sass, используя compass --watch без ошибок

  10. загруженные все


Чтобы помочь уточнить, это структура моего проекта:

root
    sass
        mainsass.scss
    css
        font-awesome
            css
                font-awesome.css
            font
                font-archives.ttf/.woff/etc
            scss
                _partials (_variables.scss, _path.scss, _core.scss, etc)
                font-awesome.scss
        fonts
            some-custom-font.ttf
        mainsass.css


Итак, если кто-нибудь прочитал здесь, что я уже ценю, любые идеи, пожалуйста?

5 ответов


хорошо, я получил помощь с этим, и было несколько проблем с путями, которые были основной проблемой. Я объясню их здесь на случай, если это поможет кому-то в моем положении.

проблема: действительно, файлы шрифтов не грузили

ошибки: в основном связано с путями и как compass & sass ведут себя с @import

исправления к моим шагам выше:

1) Вы не можете ошибиться в этом один...

2) Во-первых, не помещайте всю папку в каталог css. Каждый тип файла должен идти в свой каталог, поэтому .файлы scss в каталоге sass, файлы шрифтов (.ТЦФ. ,woff и т. д.)В каталоге css/fonts.

это важно в Sass из-за пути @import строительство. В Sass Reference говорит

Sass ищет другие файлы Sass в текущем каталоге и каталоге файлов Sass под стойкой, рельсами или Merb. Дополнительные каталоги поиска могут быть заданы с помощью параметра: load_paths или --load-path в командной строке.

я пропустил это и место мое .scss файлы в другом каталоге, и именно поэтому с нормальным @import их не удалось найти. Что приводит нас к следующему пункту.

3) было глупо пытаться импортировать a .scss файл как url (), я попытался сделать это, потому что обычный @import не работает. Когда-то шрифт-удивительный.файл scss был в моем sass каталог, я мог бы сейчас @import "font-awesome/font-awesome.scss"

4) то же самое здесь,@import пути относительно .файлы SCSS и пока шрифт-удивительным.scss и его частичные файлы находятся в одной папке, их не нужно трогать.

5) это было правильно, вам нужно изменить @FontAwesomePath чтобы соответствовать каталогу шрифтов

6) Конечно, вам нужен пример HTML для тестирования, так что ок здесь

7) это было ненужно, это уже в шрифте-потрясающе.scss я импортирую. СУХОЙ.

8) то же, что и выше, тоже ненужно.

9 & 10) Да, девочка, хорошая работа


Итак, чему же учиться у этого: Проверьте свои пути дважды с учетом того, как @import in Sass выглядит только (по умолчанию) в вашем текущем каталоге sass.


эта работа для меня:

  1. выполнить команду:

    npm install font-awesome --save-dev
    
  2. добавить эти строки в индекс.scss:

    $fa-font-path: "~font-awesome/fonts";
    @import "~font-awesome/scss/font-awesome";
    

этот метод работает, но вы должны загружать всю папку fontawesome каждый раз, когда вы устанавливаете новый проект и связываете все файлы. Установив Sass Ruby Gem, вы можете избежать дополнительной работы.

Open Terminal and do:
gem install font-awesome-sass
Remember that you should have administrator rights on your computer.
If you are an administrator and getting this:

ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

Try to install as super user:
sudo gem install font-awesome-sass
You’ll need to enter your password.

You should get this if installation was successful:

Successfully installed font-awesome-sass-4.1.0
Parsing documentation for font-awesome-sass-4.1.0
1 gem installed

Next open your sass file and import font-awesome library:
@import "/Library/Ruby/Gems/2.0.0/gems/font-awesome-sass-4.1.0/vendor/assets/stylesheets/font-awesome";
I am a mac user and in my case the gem is installed into this location. You should figure out where it stores on your windows machine.
It’s important to use absolute path. It won’t work if you do:
@import "font-awesome”Because you installed ruby gem, it is not part of compass (as I mistakenly thought in the beginning).

Download fontAwesome from fontawesome.io and unzip it. Copy font-awesome fonts into your css folder under fonts directory. Like here:
Screen Shot 2014-08-28 at 2.14.07 PM

In your .sass add a font-face FontAwesome somewhere on top of the file:

@font-face {
font-family: "FontAwesome";
src: url("fonts/fontawesome-webfont.eot");
src: url("fonts/fontawesome-webfont.eot") format("embedded-opentype"),
url("fonts/fontawesome-webfont.woff") format("woff"),
url("fonts/fontawesome-webfont.ttf") format("truetype"),
url("fonts/fontawesome-webfont.svg") format("svg");
font-weight: normal;
font-style: normal;
}

All set
Now you can use fontAwesome in your project!
Use FontAwesome inline with <i></i> tag or you can use it via @extend method in your SASS.
Inline method example:

Insert an <i></i> tag where you need it and add classes .fa (default for all icons) and .fa-[icon-name]
<i style="margin:12px;" class="fa fa-camera-retro"></i>

More details about this method you’ll find here
fontawesome website

SASS @extend method example:

$your_selector {
  @extend .fa;
  @extend .fa-camera-retro;
  font-family: $verdana;
  &::before {
    font-family: "FontAwesome";
  }
}

шаги по установке пользовательского шрифта-awesome sass.

  1. загрузите папку font-awesome и извлеките ее.

  2. откройте извлеченную папку > > font-awesome / scss, там вы найдете шрифт-awesome.scss и шрифт-удивительные частичные файлы. переместите все эти файлы в папку scss вашего проекта.

  3. переместите папку шрифтов, которая находится внутри font-awesome папку в папку проектов >> Проект / шрифты

  4. откройте _varaible.scss и измените путь как

$fa-font-path:"../шрифты" !по умолчанию; {ваш относительный путь для шрифтов в этом случае ../../шрифты}

  1. связать шрифт-удивительный.css в файл заголовка.

теперь все готово

https://fortawesome.github.io/Font-Awesome/get-started/


получить шрифт-удивительный по

yarn add font-awesome или

bower install font-awesome (Не рекомендуется)

Теперь перейдите в каталог font-awesome и скопируйте папку fonts и вставить его одна папка вверх папка css или папка scss. Например:

./ ./bower_components/* ./node_modules/* ./styles/main.scss ./fonts ./index.html

готово!

другой метод, если вы не хотите копировать папку шрифтов, чтобы добавить следующие строки в вашем :

$fa-font-path: "../bower_components/font-awesome/fonts/"; @import "../bower_components/font-awesome/scss/font-awesome";