CSS のみで画像を使わず border を2本引いて影っぽくするには :before 擬似要素を使うと便利
今回は CSS のみで以下の画像のような影付きの線を作ります。
以下のコードで実装できます。変更点は border の色の部分のみです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
header .menu { z-index: 10; position: relative; border-bottom: 1px #ff3700 solid; } header .menu:before { bottom: 0; content: ""; display: block; left: 0; position: absolute; right: 0; top: 0; z-index: -1; border-bottom: 1px #d32f02 solid; }
:before 擬似要素は IE8 移行からしか対応していなかった覚えがありますので、IE6 IE7 に対応する場合は使えません。ただ、最近 IE6 を飛び越えて IE8 利用者が増えていますので、そろそろ導入してしまっても良い頃かもしれません。CSS3 じゃないとできないと思っていましたが、そうでもなくて良かったです。
以下のページが参考になりました。
関連記事
- HTML と CSS のみでタブを作るサンプル
- IE で border を指定した時に線と線が繋がるのを防ぐ方法
- HTML と CSS だけで microdata 対応のオシャレなパンくずリストを実装するサンプル
- border-collapse で collapse を 指定すれば border が重なり合う
- CSS の z-index プロパティを利用すればボックスの重なり順序を指定できる
- 誰でも簡単に IE で CSS3 を使える様にする方法を分かりやすく書いておきました
- WordPress 初心者にも分かるデフォルトテーマ twentyten の functions.php を解体して学ぶ基本設定編
- CSS3 で3の倍数の要素にスタイルを適用する
コメント
コメントは受け付けていません。