というかどういう必要性に駆られて生まれたのかが気になる(・ω・`)
cssで吹き出しを作ろう
たとえばこんな感じ
Σ('A`)
構造はこんな感じ
<style> .fukidashi_outline{ padding-bottom: 10px; position: relative; } .fukidashi_msg{ position: relative; background-color: #ccc; height: 50px; width: 100px; color: #3a3a3a; padding: 5px; border-radius: 10px; } .fukidashi_msg:after{ content: ''; position: absolute; border-top: 10px solid #ccc; border-right: 5px solid transparent; border-left: 5px solid transparent; bottom: -9px; left: 6px; } </style> <div class="fukidashi_outline"> <div class="fukidashi_msg"> たとえばこんな感じ </div> </div>メッセージ本体部と, 周りとの距離を測る部分, そこに吹き出しの三角形部分を作る cssを足して吹き出しに見せる. それだけ.シンプルです.
キモは15~23行目. ここで疑似クラスの :afterを用いて三角形を作り, 角を丸めた長方形の下にきれいにつくように配置する.
要するに三角形の位置と向きななわけだ
('A`)
Σ('A`)
三角形を横にするのもシンプル. 斜線を leftと rightで作っていたのを topと bottomに, 上底?を書いていた borderを border-leftにしてやり, 後は位置調整.
<style> .fukidashi_outline2{ padding-right: 12px; position: relative; display: table-cell; } .fukidashi_msg2{ position: relative; background-color: #ccc; height: 50px; width: 100px; color: #3a3a3a; padding: 5px; border-radius: 10px; } .fukidashi_msg2:after{ content: ''; position: absolute; border-left: 10px solid #ccc; border-bottom: 5px solid transparent; border-top: 5px solid transparent; top: 10px; left: 110px; } .fukidashi_set2{ display: table; } .fukidashi_chara2{ display: table-cell; bottom: 10px; } </style> <br /> <div class="fukidashi_set2"> <div class="fukidashi_outline2"> <div class="fukidashi_msg2"> 要するに三角形の位置と向きななわけだ </div> </div> <div class="fukidashi_chara2"> ('A`) </div> </div>
応用するとこんなことも…
('A`)
参考: CSSだけで簡単に吹き出しを作成する方法4つ!
0 件のコメント:
コメントを投稿