2012/05/04
[CSS] CSSだけでつくる吹き出しデザイン:パート3 ドロップシャドウ付き(可変) CSS Speech Bubble with Drop Shadow
画像を使わずにCSSだけで吹き出しデザインを実装する方法のパート3です。今回はドロップシャドウ付きの吹き出しデザインです。ボックスシャドウは透明部分のボーダーの外側についてしまうので、三角部分の実現にボーダーは使用せず、四角を回転させて実装します。ぼかしをゼロにすることでボーダー1pxの設定も可能。:before擬似要素、:after擬似要素、Box-shadow、Transformを使用しています。以前の記事はこちらから。CSSだけでつくる吹き出しデザイン CSS Speech Bubble。CSSだけでつくる吹き出しデザイン:パート2 ボーダー付き CSS Speech Bubble。
CSSサポート状況
DEMO
下中央(ぼかしなし)
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
上中央(ぼかしなし)
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
左中央(ぼかしなし)
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
右中央(ぼかしなし)
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
水平垂直距離0(ぼかし)
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
下方向(ぼかしなし)
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
HTML
吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
CSS
/* 共通 */
.bubble {
display:inline-block;
position: relative;
border-radius:5px;
}
.bubble:before {
position: absolute;
content: " ";
height: 20px;
width: 20px;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
}
.bubble-inner {
padding:1em;
background:#fff;
border-radius:5px;
/* transform z-index hack */
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
}
.shadow, .shadow:before {
box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 0 0 1px rgba(0,0,0,0.2);
background:#fff;
}
/* 下中央(ぼかしなし) */
.bubble-bottom:before {
bottom: -7px;
left: 50%;
margin-left: -10px;
}
/* 上中央(ぼかしなし) */
.bubble-top:before {
top: -7px;
left: 50%;
margin-left: -10px;
}
/* 左中央(ぼかしなし) */
.bubble-left:before {
left: -7px;
top: 50%;
margin-top: -10px;
}
/* 右中央(ぼかしなし) */
.bubble-right:before {
right: -7px;
top: 50%;
margin-top: -10px;
}
/* 水平垂直距離0(ぼかし) */
.shadow2, .shadow2:before {
box-shadow: 0 0 4px rgba(0,0,0,0.2);
-webkit-box-shadow: 0 0 4px rgba(0,0,0,0.2);
background:#fff;
}
/* 下方向(ぼかしなし) */
.shadow3 {
box-shadow: 0 3px #ccc;
-webkit-box-shadow: 0 3px #ccc;
background:#fff;
}
.shadow3:before {
box-shadow: 3px 3px #ccc;
-webkit-box-shadow: 3px 3px #ccc;
background:#fff;
}
0 件のコメント :
コメントを投稿