デモ
なんです?これは
talk.cssは会話形式の吹き出しを作成するCSSよ。
へぇ!
でも難しいんでしょう?
いいえ、簡単よ。
試してみたら?
うん!
使い方
talk.css
をHTMLにリンクします:
<link href="//fukuchiharuki.github.io/talk.css/talk.css" rel="stylesheet" />
talkcss
クラスを会話形式にしたいエリア要素に追加します:
<div class="talkcss">
</div>
left/right
クラスのあるp
タグをエリア要素に追加します:
<div class="talkcss">
<p class="right">ここは右。</p>
<p class="left">ここは左。</p>
</div>
ここは右。
ここは左。
アイコン
left/right icon
クラスを追加すると要素(p
タグ)がアイコンになります:
<div class="talkcss">
<p class="right icon"></p>
<p class="left icon"></p>
</div>
p
タグ(left/right
クラスを省ける)をアイコンにした要素に続けて追加します:
<div class="talkcss">
<p class="right icon"></p>
<p>ここは右。</p>
<p class="left icon"></p>
<p>ここは左。</p>
</div>
ここは右。
ここは左。
アイコンのために<p>
を使うことに抵抗がありますか?ならば<i>
を使ってください。
名前
named
クラスをleft/right icon
クラスと一緒に追加すると名前がつきます:
<div class="talkcss">
<i class="right icon named"></i>
<p>ここは右。</p>
<i class="left icon named"></i>
<p>ここは左。</p>
</div>
ここは右。
ここは左。
カスタマイズ
アイコンと名前をカスタマイズするにはスタイルを上書きします:
<style>
</style>
アイコン
アイコンにした要素のbackground-image
を上書きします:
<style>
.talkcss > .left.icon { background-image: url(./icon-cat.png); }
.talkcss > .right.icon { background-image: url(./icon-dog.png); }
</style>

名前
アイコンにした要素の疑似要素のcontet
を上書きします:
<style>
.talkcss > .left.icon.named:after { content: "ねこ"; }
.talkcss > .right.icon.named:after { content: "いぬ"; }
</style>

キャラクター
アイコンと名前をセットにして定義(ここではcat/dog
クラス)すると便利です:
<style>
.talkcss > .icon.named.cat { background-image: url(./icon-cat.png); }
.talkcss > .icon.named.cat:after { content: "ねこ"; }
.talkcss > .icon.named.dog { background-image: url(./icon-dog.png); }
.talkcss > .icon.named.dog:after { content: "いぬ"; }
</style>
<div class="talkcss">
<i class="right icon named dog"></i>
<p>僕は犬。</p>
<i class="left icon named cat"></i>
<p>私は猫。</p>
</div>
僕は犬。
私は猫。