8.6 SNSシェアボタン風デザインを作る

戻る

主要なSNSのシェアボタン風デザインを追加します。ここでは Twitter、Facebook、Google+ の3つのボタンを追加します。


ページの下の方によくあるSNSシェアボタン。

シェアボタン用スペースを追加する

記事の末尾にボタンを追加します。ボタンを配置するスペースは<div>で作ったボックスとし、スタイルシートを設定しやすいようにクラス名「sb」(ShareButton)とします。

ボタンはサイドメニュー等と同じ方法を使って、「Twitterでシェア」「Facebookでシェア」「Google+でシェア」の3つのリンクを作ります。

各リンクは別々の色でデザインするので<a>には個別のクラス名「sb-tw」「sb-fb」「sb-gp」を設定します。

<article></article> の範囲内に追加します。

<article>
<h1>新型タブレット端末ついに発売</h1>

・・省略・・

解消されており、個人的にはとても嬉しい変更点です。</p>

<div class="sb">
<ul>
<li><a href="#" class="sb-tw">
Twitterでシェア
</a></li>
<li><a href="#" class="sb-fb">
Facebookでシェア
</a></li>
<li><a href="#" class="sb-gp">
Google+でシェア
</a></li>
</ul>
</div>


</article>


リンクが3つ追加されます。

ボタンを横に並べる

3つのリンクを横に並べて表示ます。ボックスを横に並べるで解説した方法を使って、sb クラス内の<ul>や<li>に対してスタイルシート設定を行います。

なおボタンの横幅は3等分にしたいので、<li>のそれぞれの width は「33.3333%」に設定します。

/* 記事 */
・・省略・・

/* 投稿日 */
.info { margin-top: -10px;
        margin-bottom: 20px; }

/* SNSシェアボタン */
.sb ul { margin: 0;
         padding: 0;
         list-style: none; }

.sb li a { display:block;
           padding: 5px;
           color: black;
           font-size: 14px;
           text-decoration: none; }

.sb li a:hover {
    background-color: #eeeeee; }

.sb ul:after { content: "";
               display:block;
               clear: both; }

.sb li { float: left;
         width: 33.3333%; }

/* サイドメニュー */


3つのリンクが横に並びます。

ボタンの色を変える

リンク<a>の背景色(background-color)を変更することでボタンの色を変更します。ここではそれぞれSNSのブランドカラーにします。Twitterは「#1da1f2」、Facebookは「#3b5998」、Google+は「#dd4b39」に設定します。

なお様々なサービスのブランドカラーについては以下のサイトで簡単に確認できます。

Brand Colors
https://brandcolors.net/

ボタンの文字については<a>のcolorを「white」にして文字色を白色にし、text-alignを「center」にすることで中央揃えにします。

・・省略・・

/* 投稿日 */
.info { margin-top: -10px;
        margin-bottom: 20px; }

/* SNSシェアボタン */
.sb ul { margin: 0;
         padding: 0;
         list-style: none; }

.sb li a { display:block;
           padding: 5px;
           color: white;
           text-align: center;
           font-size: 14px;
           text-decoration: none; }

.sb li a:hover {
    background-color: #eeeeee; }

.sb ul:after { content: "";
               display:block;
               clear: both; }

.sb li { float: left;
         width: 33.3333%; }

.sb-tw { background-color:#1da1f2; }
.sb-fb { background-color:#3b5998; }
.sb-gp { background-color:#dd4b39; }

/* サイドメニュー */


ボタンに色が付きました。

ブランドロゴを追加する

SNSのロゴを追加します。以前に解説したアイコンフォント(Font Awesome)を使ってHTMLに<i></i>を追加し、クラス名としてそれぞれ「fa fa-twitter」「fa fa-facebook」「fa fa-google-plus」のように設定すればロゴが表示されます。

<article> <h1>新型タブレット端末ついに発売</h1> ・・省略・・ 解消されており、個人的にはとても嬉しい変更点です。</p> <div class="sb"> <ul> <li><a href="#" class="sb-tw"> <i class="fa fa-twitter"></i> Twitterでシェア </a></li> <li><a href="#" class="sb-fb"> <i class="fa fa-facebook"></i> Facebookでシェア </a></li> <li><a href="#" class="sb-gp"> <i class="fa fa-google-plus"></i> Google+でシェア </a></li> </ul> </div> </article>


ボタンにロゴが表示されました。

ボタンを大きくする

ボタンが小さいと押しづらいので大きくします。<a>の padding を「5px」から「10px 5px」に変更し、上下の余白を10pxまで大きくします。

・・省略・・
/* 投稿日 */
.info { margin-top: -10px;
        margin-bottom: 20px; }

/* SNSシェアボタン */
.sb ul { margin: 0;
         padding: 0;
         list-style: none; }

.sb li a { display:block;
           padding: 10px 5px;
           color: white;
           text-align: center;
           font-size: 14px;
           text-decoration: none; }

・・省略・・


ボタンの縦幅が増えて、押しやすくなりました。

マウスカーソルを重ねた際の色を調整する

マウスカーソルをボタンに重ねると背景色が薄いグレーになり、文字が読みにくい状態です。


マウスカーソルを重ねると、色が薄くなってしまった。

そこで、各ボタンが変化する色を変更します。一箇所ずつ色を設定することもできますが手間がかかるので、<a>の:hoverに設定した背景色の設定は削除し、代わりに opacity を「0.8」に設定します(色の透明度を80%に下げるという効果があります)。

これでマウスカーソルをボタンに重ねたとき、ブランドカラーが少し薄くなった色合いで表示されるようになります。

・・省略・・
/* 投稿日 */
.info { margin-top: -10px;
        margin-bottom: 20px; }

/* SNSシェアボタン */
.sb ul { margin: 0;
         padding: 0;
         list-style: none; }

.sb li a { display:block;
           padding: 10px 5px;
           color: white;
           text-align: center;
           font-size: 14px;
           text-decoration: none; }

.sb li a:hover { 
    background-color: #eeeeee; 削除
    opacity: 0.8; }

・・省略・・




ボタンにマウスカーソルを重ねると、色が少し薄くなります。

記事との間隔を調整する

記事の文章とSNSボタンとの間隔を広げます。ボタン上部の余白サイズを40ピクセルに設定するために sb クラス <div class="sb"> の margin-top に「40px」を設定します。

・・省略・・
/* 投稿日 */
.info { margin-top: -10px;
        margin-bottom: 20px; }

/* SNSシェアボタン */
.sb { margin-top: 40px; }

.sb ul { margin: 0;
         padding: 0;
         list-style: none; }

.sb li a { display:block;
           padding: 10px 5px;
           color: white;
           text-align: center;
           font-size: 14px;
           text-decoration: none; }

.sb li a:hover { 
    opacity: 0.8; }

・・省略・・


本文とボタンとの間の余白が増えました。

以上で制作作業は完了です。お疲れさまでした!

提出まえのチェック

完成例と見比べて、うまくできているか確認しましょう。

ブラウザの横幅を広くして、ページの横幅が一定以上に伸びないよう確認したり、横幅を狭くして、右メニューがページの下の方に移動したりする様子を確認しましょう。

うまくできていたら blogフォルダ全体を圧縮して、 moodle にアップロードをしてください。