💎 実現したい事
この様に、2つのアイコンをGemfont-awesome-rails
で右に配置したい。
⚠️ 表示されないパターン
1、今回苦戦した現象で、何も表示されません。
考えられる原因パターンは、
・アイコンの記述方法、指定方法が間違えている。
・font-awesomeのバージョン
2、こちらは、表示されたがアイコンが出ない。
・多くの場合は、cssにてfont-famiryを指定出来ていない。
・その他一部、cssにて指定する必要がある。(公式を参照)
問題が起きた環境
・Mac
・rails(5.0.7.2)
・haml(5.1.2)
・gem "font-awesome-rails"(4.7.0.5)
前提
・文法が間違っていないか確認しましょう、数パターン書ける方法があります。
・bundle installとサーバーの立ち上げ直しなども見直しましょう。
現象1
Gemfileにてfont-awesome-railsを記載し、
gem "font-awesome-rails"
bundle install
をしてapplication.scssにてimportするも何も表示されない。
%ul.side-header__box__menu
%li.side-header__box__menu__new-group
=link_to "#" do
= fa_icon 'edit', class: "fa fa-edit"
%li.side-header__box__menu__edit-user
=link_to edit_user_path(current_user) do
= fa_icon 'cog', class: "fa fa-cog"
Google Chromeの検証画面を見るとclassみたいに判定されていました。
::before
が無い場合、記載ミスでclassとして判定されているように思えますが、
呼び出せていない可能性が高いです。
原因の究明として、まずheadにCDNを挿入してみましょう。
これはGemを使用せず、URLから呼び出す感じです。
!!!
%html
%head
%meta{content: "text/html; charset=UTF-8", "http-equiv":"Content-Type"}/
// 追加する
%link{href: "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css", rel: "stylesheet"}
これで表示されました。
表示されない場合は書き方が間違っている可能性があります。
これで何も表示されない場合はbundle install後に、
サーバーを立て直してないなどを疑ってみてください。
・Gemで表示させる
原因は、Gemと判明しました。
バージョンにより読み込みが出来ていない可能性があります。
なのでfont_awesome
の別バージョンのGemを使用してみましょう。
前の font-awesome-rails は削除します。
ターミナルにて
1、bundle exec gem uninstall font-awesome-rails
で、Enter
2、Gemfileから削除
3、bundle update
で、Enter
・font_awesome5_rails
を導入
gem 'font_awesome5_rails'
bundle install
を実行する。
次に、importを記載します。
@import 'font_awesome5_webfont';
@import 'font_awesome5.css';
現象2
四角の状態は、呼び出せているが表示が上手く出来ていません。
・font-familyの指定
SCSSまたは、CSSにてアイコンに対して下記を指定する必要があります。
font-family: "Font Awesome 5 Free";
以上で、解決いたしましたが他にもありましたら、
コメントなどで、よろしくお願いいたします。
GitHub
https://github.com/aocattleya
🐦 Twitter
https://twitter.com/aocattleya