Someday Somewhere

A little something to say in my everyday life

吹き出しを使って会話風に表示する方法

前から気になっていた吹き出しを使用して会話形式にする方法。

この形式で記事を書いているサイトを見かけるたびに、一度やってみようと思いつつ今まできてしまったのですが、今回、設定してみることにしました。

設定方法を紹介しているサイト

cssに貼り付けるコードと、詳しい設定方法が紹介されています。
www.notitle-weblog.com
こういうサイトさんには本当にいつも助けられています。 感謝です。

コードを貼り付ける前にやっておくこと

今回に限らず、カスタマイズする時は、常にもとのcssをメモ帳などにコピペしておくことをお勧めします。

カスタマイズ後、デザインが変になってしまうなど、万が一の時にも慌てなくてすむので。

吹き出しの先頭に表示するアイコンを決める

無料素材のイラストやアイコンで検索すると、まとめサイトというかまとめ記事が出てくる出てくる(ほとんどが同じサイトを紹介しています。 根気よく探せば、他の人があまり使っていないイラストを見つけることができるかも)。

とりあえず、使うイラストを決めたら、ダウンロードしてはてなフォトライフにアップロードしておきます。

はてなフォトライフは、はてなのトップページに次のような箇所があります。
f:id:tsukisai:20190207122710p:plain

自分のフォトページを開き、アップロードをクリックして画像をアップロードします。
f:id:tsukisai:20190207123157p:plain

コードをcssに書き込む

画像の準備ができたら、次にコードをcssに書き込みます。

使わせて頂いたコードはこちら

/ 吹き出しのCSS /
.entry-content .l-fuki,
.entry-content .r-fuki {
position: relative;
width: 80%;
box-sizing: border-box;
-webkit-box-sizing: border-box;
padding: 20px;
border-radius: 6px;
border: 2px solid #999;
box-shadow: 1px 1px 5px #aaa;
background-color: #fff;
z-index: 1;
}
.entry-content .l-fuki {
margin: 20px 20% 40px 0;
}
.entry-content .r-fuki {
margin: 20px 0 40px 19%;
}
.entry-content .l-fuki::before,
.entry-content .r-fuki::before {
position: absolute;
content: "";
top: 16px;
width: 10px;
height: 10px;
border-right: 2px solid #999;
border-bottom: 2px solid #999;
background-color: #fff;
z-index: 2;
}
.entry-content .l-fuki::before {
right: -7px;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.entry-content .r-fuki::before {
left: -7px;
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}
.entry-content .l-fuki::after,
.entry-content .r-fuki::after {
position: absolute;
content: "";
width: 80px;
height: 80px;
top: -10px;
border-radius: 40px;
border: 3px solid #fff;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
box-shadow: 1px 1px 5px #aaa;
}
.entry-content .l-fuki::after {
right: -110px;
}
.entry-content .r-fuki::after {
left: -110px;
}
@media screen and (max-width: 620px) {
.entry-content .l-fuki,
.entry-content .r-fuki {
width: 70%
}
.entry-content .l-fuki {
margin-right: 30%;
}
.entry-content .r-fuki {
margin-left: 30%;
}
}
@media screen and (max-width: 478px) {
.entry-content .l-fuki::after,
.entry-content .r-fuki::after {
width: 60px;
height: 60px;
border-radius: 30px;
}
.entry-content .l-fuki::after {
right: -84px;
}
.entry-content .r-fuki::after {
left: -84px;
}
}
.クラス名::after {background-image:url(画像のURL);}
.クラス名::after {background-image:url(画像のURL);}

まず、上記コードをメモ帳などにコピペします。

クラス名を書き込む

メモ帳などにコピペしたコードの一番下にあるクラス名を書き換えます。

.クラス名::after {background-image:url(画像のURL);}
.クラス名::after {background-image:url(画像のURL);}

クラス名は自分のわかりやすい名前にすると、複数の吹き出しを使う場合、便利です。
例:
.cat::after {background-image:url(画像のURL);}
.dog::after {background-image:url(画像のURL);}

画像のURLを書き込む

クラス名の後ろにある(画像のURL)という箇所に、先ほどアップロードしておいた画像のURLを書き込みます。

.クラス名::after {background-image:url(画像のURL);}
.クラス名::after {background-image:url(画像のURL);}

画像のURLは、はてなフォトライフ内にアップロードしたお目当ての画像を右クリックし、「画像のURLをコピー」を選択。 そのURLを上記(画像のURL)に貼り付けます。

コードを貼り付ける

ここで、メモ帳上で完成させたコードをcssに貼り付けます。

ブログ管理画面 → デザイン → カスタマイズ(スパナマーク) → デザインcssと進み、完成したコードをコピペします。 あとは「変更を保存する」をクリックして終了。 (デザインcssには既に他のコードも書き込んであるので、今回のコードは一番下に貼り付けました)

実際に記事の中で使ってみる

ここで、実際に記事編集で使ってみます。

HTML編集画面を開き、次のように書き込みます。 (Markdown編集も下記のタグで大丈夫です)

<p class="l-fuki クラス名">テキスト</p>
<p class="r-fuki クラス名">テキスト</p>

クラス名は先ほどコード内に書き込んだものです。

クラス名の前にあるl-fukir-fukiは吹き出しがアイコンの右・左どちらにくるかを表しています。
l-fuki : 吹き出しがアイコンの左側
r-fuki: 吹き出しがアイコンの右側

実際にやってみると・・・、こんな感じです。

トラ猫

灰色猫

できました。

コピペするだけのコードを作ってくれてあるおかげで、cssにコードを貼り付けること自体は簡単です。 わたしの場合は、アイコンのイラストをどれにするかで結構時間がかかってしまいましたが。

今度、吹き出しを使って記事を書いてみたいと思います。