当サイトの…見様によっては立体的に見えるリボン(CSS-3D-Ribbon)…
…についての…実装方法です…
ウエブ リボンはCSSだけで実現しているタイプと…
自作画像で実現しているタイプの 2パターン実装していますが…
画像タイプは過去記事でも紹介していますので…
Bloggerで時間帯別に画像やテキストを自動で変化させる記述
立体的ウエブ リボンを作成してくれるサイトを…
もう一つリンクだけ紹介するにとどめて…
3D Ribbon Generator(CSS3d.net)
2016年
5月の時点で暗号化接続に未対応なのでリンクを削除
この記事は…CSSだけで実現するタイプの解説です…
他の…公開サイトを含めて…
6種類のパステル調の立体的リボンを実装しています…
サイトロゴや記事タイトル・サブタイトル・引用・ソースコード…
…などなどに…使用しています…
因みに…ヘッダー部分は…
こんな感じ(時間帯で色が変わります)…
それでは本題です…
先ずはサンプルをご覧下さい…
パステル調 白系タイトル用 立体的リボンの見本です…
Example of White CSS-3D-Ribbon(100%)
Example of White CSS-3D-Ribbon(60%)
パステル調 青系タイトル用 立体的リボンの見本です…
Example of Blue CSS-3D-Ribbon(100%)
Example of Blue CSS-3D-Ribbon(60%)
パステル調 赤系タイトル用 立体的リボンの見本です…
Example of Red CSS-3D-Ribbon(100%)
Example of Red CSS-3D-Ribbon(60%)
パステル調 黄系タイトル用 立体的リボンの見本です…
Example of Yellow CSS-3D-Ribbon(100%)
Example of Yellow CSS-3D-Ribbon(60%)
パステル調 緑系タイトル用 立体的リボンの見本です…
Example of Green CSS-3D-Ribbon(100%)
Example of Green CSS-3D-Ribbon(60%)
パステル調 紫系タイトル用 立体的リボンの見本です…
Example of Purple CSS-3D-Ribbon(100%)
Example of Purple CSS-3D-Ribbon(60%)
リボン色にグラデーションを設定していますが…
Internet Explorer では…
CSS によるグラデーションは表現されず代替の単色で表示されます…
リボンの上のテキストを代替色で記述していますので…
Google Chrome などのモダンブラウザで確認して下さい…
ウエブ標準準拠ウエブブラウザ利用の奨め…
第一に…立体的リボンをかけるには当然ながら背景となる親要素が必要ですので…
背景となる親要素の設定です…
背景となる親要素の CSS
.ribbon-back0{background:#222;width:480px;margin:5px auto 10px;padding:6px 5px 5px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}
続いて…色別 パステル調 立体的リボンの設定です…各色…
1列目で…100% 用のリボン本体部分…
2列目で…60% 用のリボン本体部分…
3列目で…100%・60% 共用の折り返し三角形部分…
4列目で…100% 用の折り返し三角形部分…
…を記述しています…
パステル調 白系タイトル用 立体的リボンの CSS
.ribbon01{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;background:#c8c8c8;background:-moz-linear-gradient(top,#e3e3e3,#c8c8c8);background:-webkit-gradient(linear,left top,left bottom,from(#e3e3e3),to(#c8c8c8));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:511px;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #e3e3e3}
.ribbon1{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-right-radius: 6px;-webkit-border-bottom-right-radius: 6px;-moz-border-radius-topright: 6px;-moz-border-radius-bottomright: 6px;border-top-right-radius: 6px;border-bottom-right-radius: 6px;background:#c8c8c8;background:-moz-linear-gradient(top,#e3e3e3,#c8c8c8);background:-webkit-gradient(linear,left top,left bottom,from(#e3e3e3),to(#c8c8c8));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:60%;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #e3e3e3}
.triangle1-l{width:0;height:0;line-height:0;border-left:20px solid transparent;border-top:10px solid #6a6a6a;bottom:-12px;left:0;position:absolute}
.triangle1-r{width:0;height:0;line-height:0;border-right:20px solid transparent;border-top:10px solid #6a6a6a;bottom:-12px;right:-2px;position:absolute}
パステル調 青系タイトル用 立体的リボンの CSS
.ribbon02{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;background:#72aae2;background:-moz-linear-gradient(top,#b8d5f1,#72aae2);background:-webkit-gradient(linear,left top,left bottom,from(#b8d5f1),to(#72aae2));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:511px;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #b8d5f1}
.ribbon2{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-right-radius: 6px;-webkit-border-bottom-right-radius: 6px;-moz-border-radius-topright: 6px;-moz-border-radius-bottomright: 6px;border-top-right-radius: 6px;border-bottom-right-radius: 6px;background:#72aae2;background:-moz-linear-gradient(top,#b8d5f1,#72aae2);background:-webkit-gradient(linear,left top,left bottom,from(#b8d5f1),to(#72aae2));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:60%;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #b8d5f1}
.triangle2-l{width:0;height:0;line-height:0;border-left:20px solid transparent;border-top:10px solid #476a8d;bottom:-12px;left:0;position:absolute}
.triangle2-r{width:0;height:0;line-height:0;border-right:20px solid transparent;border-top:10px solid #476a8d;bottom:-12px;right:-2px;position:absolute}
パステル調 赤系タイトル用 立体的リボンの CSS
.ribbon03{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;background:#e27272;background:-moz-linear-gradient(top,#f1b8b8,#e27272);background:-webkit-gradient(linear,left top,left bottom,from(#f1b8b8),to(#e27272));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:511px;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #f1b8b8}
.ribbon3{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-right-radius: 6px;-webkit-border-bottom-right-radius: 6px;-moz-border-radius-topright: 6px;-moz-border-radius-bottomright: 6px;border-top-right-radius: 6px;border-bottom-right-radius: 6px;background:#e27272;background:-moz-linear-gradient(top,#f1b8b8,#e27272);background:-webkit-gradient(linear,left top,left bottom,from(#f1b8b8),to(#e27272));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:60%;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #f1b8b8}
.triangle3-l{width:0;height:0;line-height:0;border-left:20px solid transparent;border-top:10px solid #8d4747;bottom:-12px;left:0;position:absolute}
.triangle3-r{width:0;height:0;line-height:0;border-right:20px solid transparent;border-top:10px solid #8d4747;bottom:-12px;right:-2px;position:absolute}
パステル調 黄系タイトル用 立体的リボンの CSS
.ribbon04{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;background:#e2e272;background:-moz-linear-gradient(top,#f1f1b8,#e2e272);background:-webkit-gradient(linear,left top,left bottom,from(#f1f1b8),to(#e2e272));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:511px;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #f1f1b8}
.ribbon4{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-right-radius: 6px;-webkit-border-bottom-right-radius: 6px;-moz-border-radius-topright: 6px;-moz-border-radius-bottomright: 6px;border-top-right-radius: 6px;border-bottom-right-radius: 6px;background:#e2e272;background:-moz-linear-gradient(top,#f1f1b8,#e2e272);background:-webkit-gradient(linear,left top,left bottom,from(#f1f1b8),to(#e2e272));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:60%;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #f1f1b8}
.triangle4-l{width:0;height:0;line-height:0;border-left:20px solid transparent;border-top:10px solid #8d8d47;bottom:-12px;left:0;position:absolute}
.triangle4-r{width:0;height:0;line-height:0;border-right:20px solid transparent;border-top:10px solid #8d8d47;bottom:-12px;right:-2px;position:absolute}
パステル調 緑系タイトル用 立体的リボンの CSS
.ribbon05{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;background:#72e272;background:-moz-linear-gradient(top,#b8f1b8,#72e272);background:-webkit-gradient(linear,left top,left bottom,from(#b8f1b8),to(#72e272));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:511px;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #b8f1b8}
.ribbon5{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-right-radius: 6px;-webkit-border-bottom-right-radius: 6px;-moz-border-radius-topright: 6px;-moz-border-radius-bottomright: 6px;border-top-right-radius: 6px;border-bottom-right-radius: 6px;background:#72e272;background:-moz-linear-gradient(top,#b8f1b8,#72e272);background:-webkit-gradient(linear,left top,left bottom,from(#b8f1b8),to(#72e272));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:60%;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #b8f1b8}
.triangle5-l{width:0;height:0;line-height:0;border-left:20px solid transparent;border-top:10px solid #478d47;bottom:-12px;left:0;position:absolute}
.triangle5-r{width:0;height:0;line-height:0;border-right:20px solid transparent;border-top:10px solid #478d47;bottom:-12px;right:-2px;position:absolute}
パステル調 紫系タイトル用 立体的リボンの CSS
.ribbon06{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border-top-left-radius:6px;border-top-right-radius:6px;background:#7272e2;background:-moz-linear-gradient(top,#b8b8f1,#7272e2);background:-webkit-gradient(linear,left top,left bottom,from(#b8b8f1),to(#7272e2));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:511px;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #b8b8f1}
.ribbon6{font-size:12px;border-top:1px solid #555;border-right:2px solid #999;border-bottom:2px solid #999;border-left:1px solid #555;-webkit-border-top-right-radius: 6px;-webkit-border-bottom-right-radius: 6px;-moz-border-radius-topright: 6px;-moz-border-radius-bottomright: 6px;border-top-right-radius: 6px;border-bottom-right-radius: 6px;background:#7272e2;background:-moz-linear-gradient(top,#b8b8f1,#7272e2);background:-webkit-gradient(linear,left top,left bottom,from(#b8b8f1),to(#7272e2));padding:3px 10px;margin:5px 0 10px -27px;position:relative;width:60%;-moz-box-shadow:1px 1px 3px #292929;-webkit-box-shadow:1px 1px 3px #292929;box-shadow:1px 1px 3px #292929;color:#444;text-shadow:0 1px 0 #b8b8f1}
.triangle6-l{width:0;height:0;line-height:0;border-left:20px solid transparent;border-top:10px solid #47478d;bottom:-12px;left:0;position:absolute}
.triangle6-r{width:0;height:0;line-height:0;border-right:20px solid transparent;border-top:10px solid #47478d;bottom:-12px;right:-2px;position:absolute}
「折り返し三角形」部分は…
「20px の透明な枠線」と「10px の色付き枠線」の組み合わせで…
要素の幅と高さを「0px」にして表現しています…
枠線の配置と太さで…「折り返し三角形」の大きさと向きが決まります…
図形を書くと解りやすいですよ…ハイ…数学の基本は図形です…
リボンの高さは文字サイズとパディングに依存しています…
左にネガティブマージンを設定して親要素からはみ出させています…
サイズやクラス名など…ご自由に弄って下さい…ですが…
あまり大きな「折り返し三角形」にすると…
より立体的にはなりますが…「100% 用のリボン」の場合…
親要素の幅も必然的に狭くなるのをお忘れなきよう…
尚…サイズや位置は「%」でも指定できますが…
可変カラムのテンプレートの場合…
煩雑な計算になりますし…
当サイトのように…
親要素の左右の枠線の太さが違う場合など…尚更なので…
「px」指定をお奨めします…
最後は上記サンプルの HTML マークアップです…
リボンのマークアップに「h4」を使っています…
スタイル指定している場合は他のタイトル要素にするか…
スタイルをクリア…又は…CSS で工夫してください…
リボンサンプルの HTML マークアップ
<div class="ribbon-back0">
<span style="color: #c8c8c8;"><b>パステル調 白系タイトル用 立体的リボンの見本です…</b></span>
<h4 class="ribbon01">
Example of White CSS-3D-Ribbon(100%)<span class="triangle1-l"></span><span class="triangle1-r"></span></h4>
<h4 class="ribbon1">
Example of White CSS-3D-Ribbon(60%)<span class="triangle1-l"></span></h4>
<span style="color: #72aae2;"><b>パステル調 青系タイトル用 立体的リボンの見本です…</b></span>
<h4 class="ribbon02">
Example of Blue CSS-3D-Ribbon(100%)<span class="triangle2-l"></span><span class="triangle2-r"></span></h4>
<h4 class="ribbon2">
Example of Blue CSS-3D-Ribbon(60%)<span class="triangle2-l"></span></h4>
<span style="color: #e27272;"><b>パステル調 赤系タイトル用 立体的リボンの見本です…</b></span>
<h4 class="ribbon03">
Example of Red CSS-3D-Ribbon(100%)<span class="triangle3-l"></span><span class="triangle3-r"></span></h4>
<h4 class="ribbon3">
Example of Red CSS-3D-Ribbon(60%)<span class="triangle3-l"></span></h4>
<span style="color: #e2e272;"><b>パステル調 黄系タイトル用 立体的リボンの見本です…</b></span>
<h4 class="ribbon04">
Example of Yellow CSS-3D-Ribbon(100%)<span class="triangle4-l"></span><span class="triangle4-r"></span></h4>
<h4 class="ribbon4">
Example of Yellow CSS-3D-Ribbon(60%)<span class="triangle4-l"></span></h4>
<span style="color: #72e272;"><b>パステル調 緑系タイトル用 立体的リボンの見本です…</b></span>
<h4 class="ribbon05">
Example of Green CSS-3D-Ribbon(100%)<span class="triangle5-l"></span><span class="triangle5-r"></span></h4>
<h4 class="ribbon5">
Example of Green CSS-3D-Ribbon(60%)<span class="triangle5-l"></span></h4>
<span style="color: #7272e2;"><b>パステル調 紫系タイトル用 立体的リボンの見本です…</b></span>
<h4 class="ribbon06">
Example of Purple CSS-3D-Ribbon(100%)<span class="triangle6-l"></span><span class="triangle6-r"></span></h4>
<h4 class="ribbon6">
Example of Purple CSS-3D-Ribbon(60%)<span class="triangle6-l"></span></h4>
</div>
お疲れ様でした…
こちらの記事もどうぞ…
CSSだけで作るパステル調の立体的リボン(CSS-3D-Ribbon)…斜め掛け編
0 Comments :
View Comments :: Click!!
0 Comments :
Post a Comment :: Click!!
コメントを投稿