CSSで画像付きのチャット風吹き出しを作る方法

※当サイトにはプロモーションが含まれています。

ワードプレスでは、会話形式の吹出しを作ることができるプラグインが用意されていたり、日本で販売されているテーマの多くは、標準で装備されていることも多いです。

例えば、これらの吹出しデザインは、賢威の標準機能です。

にゃのらいとにゃのらいと

賢威8.0には、会話機能専用のプラグインがあるにゃ

にゃテックにゃテック

ショートコードも使えるから便利にゃ

しかし、サイト作成の際には、ワードプレス以外でも作ることがあるかと思います。

そんなときに役立つ、LINEのような吹き出しを作るCSSです。

LINEのような吹き出しを作るCSS

画像付きでLINEのような吹き出しを作るCSSです。

<div class="nya-chat-message received">
<img src="画像のURL" alt="画像の説明" class="nya-chat-avatar">
<div class="nya-chat-bubble received">
最初の会話文を記載します。
</div>
</div>
<div class="nya-chat-message sent">
<div class="nya-chat-bubble sent">
次の会話文を記載します。
</div>
<img src="画像のURL" alt="画像の説明" class="nya-chat-avatar">
</div>
.nya-chat-bubble {
position: relative;
padding: 15px;
border-radius: 15px;
margin-bottom: 30px;
display: inline-block;
max-width: 80%;
vertical-align: top;
}
.nya-chat-bubble::before {
content: '';
position: absolute;
top: 15px;
width: 0;
height: 0;
border: 10px solid transparent;
}
.nya-chat-bubble.received {
background-color: #f0f0f0;
}
.nya-chat-bubble.received::before {
left: -10px;
border-right-color: #f0f0f0;
border-left: 0;
}
.nya-chat-bubble.sent {
background-color: #fbeded;
align-self: flex-end;
}
.nya-chat-bubble.sent::before {
right: -10px;
border-left-color: #fbeded;
border-right: 0;
}
.nya-chat-avatar {
width: 100px;
height: 100px;
border-radius: 50%;
margin-right: 10px;
vertical-align: top;
}
.nya-chat-message {
display: flex;
align-items: flex-start;
margin-bottom: 15px;
}
.nya-chat-message.sent {
justify-content: flex-end;
}
.nya-chat-message.sent .nya-chat-avatar {
margin-right: 0;
margin-left: 10px;
}

これを適用すると、こんな感じになります。

画像の説明

最初の会話文を記載します。
次の会話文を記載します。

画像の説明

CSSについての補足説明

上記のCSSについて簡単に補足説明です。

.nya-chat-bubble.receivedは、受信メッセージ(最初の会話文)の背景色を設定しています。

.nya-chat-bubble.received::beforeは、受信メッセージの矢印部分の位置と色を設定しています。

.nya-chat-bubble.sentは、送信メッセージ(次の会話文)の背景色と位置を設定しています。

.nya-chat-bubble.sent::before:は、送信メッセージの矢印部分の位置と色を設定しています。

.nya-chat-avatarは、アバターのサイズ、丸みを帯びた形状などを設定しています。widthheightを修正することで、アバターの画像サイズを調整することができます。

.nya-chat-message.sentは、送信メッセージの配置を右寄せに設定しています。

以上、簡単な解説でした。

なお、コードが記載されているエディターの右上をクリックすれば、コードがコピーできますので、もしよかったらご活用ください。