SNSのアイコンのリストって毎回作ってるけど、そろそろテンプレほしいな。
使いまわしやすくて、ホバーアクションもいい感じにしたい。
よくあるSNSアイコンリストのテンプレを共有しますね。
ホバーアクションはFontAwesomeのアニメーションを使用するといい感じになりますよ。
完成形のイメージ
こんな感じのSNSアイコンのリストです。
マウスホバー時、ぴょんぴょん跳ねるアニメーションにしています。
See the Pen Untitled by shimpei (@shimpei) on CodePen.
SNSアイコンリストのテンプレート
HTML
<ul class="sns-list">
<li><a href="#" class="fa-brands fa-x-twitter"></a></li>
<li><a href="#" class="fa-brands fa-facebook"></a></li>
<li><a href="#" class="fa-brands fa-instagram"></a></li>
</ul>
FontAwesomeのクラスをつけています。
公式ページからコピーすると<i>
タグがありますが、別になんのタグでも大丈夫なので今回は<a>
タグにしています。
下記の画像の箇所です。
FontAwesomeの使い方はこちらの記事でも紹介しています。
もし分かりにくければ、リンク先の記事で丁寧に解説していますのでどうぞ。
FontAwesomeを5秒で表示【コピペ用】
SCSS
body {
background: #eee;
padding: 30px 20px;
}
ul.sns-list {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
align-items: flex-start;
column-gap: 5px;
> li {
width: 50px;
height: 50px;
border-radius: 50%;
background: #fff;
> a {
width: 100%;
height: 100%;
display: grid;
place-content: center;
text-decoration: none;
&::before {
font-size: 22px;
}
&.fa-x-twitter {
color: #000000;
}
&.fa-facebook {
color: #1877f2;
}
&.fa-instagram {
background-image: linear-gradient(
45deg,
#bf09a2,
#e00a3f,
#f84c1d,
#febf32
);
background-clip: text;
color: transparent;
}
}
}
}
flexで横並びにしてます。instagramだけグラデーションにしています。
Instagramのアイコンをグラデーションにする
instagramのアイコンだけグラデーションにしています。
画像で書き出せば別にいいんですが、今回FontAwesomeを使用したのでSCSSで描いてみました。
必要な方いればどうぞ〜。
.fa-instagram {
background-image: linear-gradient(45deg,
#bf09a2,
#e00a3f,
#f84c1d,
#febf32);
background-clip: text;
color: transparent;
}
シェアボタンの作り方も下記の記事で紹介しています。
jQuery(ホバーアニメーション)
え?jQuery何に使うの?って感じですがホバーアニメーションをつけるのに使用しています。
別に難しいことはしていないくて、ホバーしたときにclassを付けているだけです。
$('.sns-list a').mouseenter(function () {
$(this).addClass('fa-bounce');
}).mouseleave(function () {
$(this).removeClass('fa-bounce');
});
アニメーションのクラスってなに?
自分でアニメーションのCSS書くの?
書きたくないですね。
あらかじめFontAwesomeで用意されているアニメーションのクラスがあるので、それを使用しているだけです。
用意されているclassは9つほど。下記です。
FontAwesomeのアニメーションの確認方法
FontAwesomeの公式サイトでアイコンを選択後、下記画像(Show Styling Tools)をクリックするとアニメーションのクラスが一覧で表示され、動きも確認できます。
- Beat
- Beat Fade
- Bounce
- Fade
- Flip
- Shake
- Spin
- Spin Reverse
- Spin Pluse
アニメーションが決まったら先程のjQueryのaddClass
、removeClass
の箇所を選んだアニメーションのclassに置き換えてください。
$('.sns-list a').mouseenter(function () {
$(this).addClass('.Beat'); // 使用したいアニメーションのクラス名
}).mouseleave(function () {
$(this).removeClass('.Beat'); // 使用したいアニメーションのクラス名
});
以上です。
最後に
今回はよくあるSNSアイコンリストのテンプレートを紹介しました。
手軽に高品質なものを実装できる方法を解説しました。
最後までありがとうございました。