LoginSignup
7
5

More than 3 years have passed since last update.

【図解あり】Rails6でFont Awesomeを用いてSNSアイコンを表示させる

Last updated at Posted at 2021-02-24

Rails6でアプリケーションにFont Awesomeを導入した際の手順をまとめてみました。
超初心者向けです。

前回: Rails6にBootstrapを導入してトップページを作成するの続きになります。

完成形icon.png

Font Awesomeの導入

コンソール
yarn add @fortawesome/fontawesome-free

Font Awesomeを読み込ませる

app/javascript/packs/application.js
import 'bootstrap';
import '@fortawesome/fontawesome-free/js/all'; //追加
import '../stylesheets/application';
app/javascript/stylesheets/application.scss
@import '~bootstrap/scss/bootstrap';
@import '~@fortawesome/fontawesome-free/scss/fontawesome'; //追加

導入完了

Font Awesomeの表示

Font Awesomeの公式ページから任意のアイコンのコードをコピペする
ti.gif

index.html.erb
<i class="fab fa-twitter-square"></i>

ttttt.png

表示されましたがこれでは小さいです。
なのでサイズを調整します。

以下のコードをclass名に追記
コード サイズ
fa-lg 1.3倍
fa-2x 2倍 
fa-3x 3倍 
fa-4x 4倍 
index.html.erb
<i class="fab fa-twitter-square fa-2x"></i>

サイズが大きくなりました。
この要領で記述していきます。

index.html.erb
<div class="icons">
  <div class="icon">
    <%= link_to "#" do %>
      <span class="icon-twitter"><i class="fab fa-twitter-square fa-2x"></i></span>
      <span class="icon-name">Twitter</span>
    <% end %>
  </div>
  <div class="icon">
    <%= link_to "#" do %>
      <span class="icon-insta"><i class="fab fa-instagram-square fa-2x"></i></span>
      <span class="icon-name">Instagram</span>
    <% end %>
  </div>
  <div class="icon">
    <%= link_to "#" do %>
      <span class="icon-face"><i class="fab fa-facebook-square fa-2x"></i></span>
      <span class="icon-name">Facebook</span>
    <% end %>
  </div>
  <div class="icon"> 
    <%= link_to "#" do %>
      <span class="icon-line"><i class="fab fa-line fa-2x"></i></span>
      <span class="icon-name">Line</span>
    <% end %>
  </div>
</div>

CSSをあてていきます。アイコンのカラーはこちらのサイトを参考にしております。

ターミナル
touch app/javascript/stylesheets/index.scss
app/javascript/stylesheets/application.scss
@import '~bootstrap/scss/bootstrap';
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
@import './index.scss'; // 追記
app/javascript/stylesheets/index.scss
.icons{
  padding: 10px;
}

.icon{
  margin-bottom: 5px;
  :hover {
    text-decoration: none;
  }
}

.icon-name{
  font-size: 20px;
}

.icon-twitter{
  color: #55acee;
}

.icon-insta{
  color:#f77737;
}

.icon-face{
  color: #315096;
}

.icon-line{
  color: #00c300;
}

完成です。
icon.png

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5