456bereastreet-CSSで様々なクリップを紹介しているサイトです。最近はここのサイトを何度も読み直していろんなCSSを把握しよう頑張っています。
つい最近もjavascript制御での影付き角丸ボックスのソースを公開していました。あとは、pullquotatをjavascript制御でブロック要素で抜き出して表示するソースなんかも紹介されています。
- 456bereastreet
こちらのブログもMovable Type[ムーバルタイプ]で構築されています。ページ構成やレイアウト・デザインなど参考にしてみるのもいいかと思います。
角丸ボックス表示
角丸ボックスといえば、表示方法にもいろいろとあります。私は最近ではNiftyConer(javascript制御)を使うようにしています。その前までは、Rico(javascript制御)を使っていました。
border-radius /-moz-border-radiusの方法もあります。 詳しくは、こちらのエントリーを読んでみてください。
- border-radius + -moz-border-radius + (Nifty Corners * IE behavior) - 徒書:
- http://www.akatsukinishisu.net/itazuragaki/css/nifty_corners_behavior.html
影付き角丸ボックス表示
今回456bereastreetで紹介されている影付き角丸ボックスは、二つの画像を使ってのシンプルなソースで角丸を表示する方法です。以前のエントリーから読んでいかないとイマイチ画像作成・配置の設定などわからないので理解するのに時間がかかっています。
時間があるときに少しずつ理解を進めているのですが、いろいろと関連したエントリーがあり、ごちゃごちゃになってしまうといった感じでどれくらい理解できているのか自分でもわからないといったところです。
そんなわけで、少しずつ紹介されているソースを解析しながらエントリーにして行き、理解を深めて行きます。
フレキシブルな角丸ボックス表示
二つの画像を使っての最大幅は自分の作成する画像の大きさまで対応できるCSS+XHTMLソースです。
- Flexible box with custom corners and borders
http://www.456bereastreet.com/archive/200406/flexible_box_with_custom_corners_and_borders/
以下がHTMLコードです。
以下がCSSコードです。コンテンツ部分の指定無いので、自分で背景を指定するひつようがあります。
実際にのセレクタを画像で区別すると以下のようになります。

boxセレクタ
.boxセレクタは右側の縦の画像指定でpsdding12ピクセル指定されていますので、画像は横幅12ピクセル×縦任意のサイズ以内に右側の横画像を作成すればいいです。
実際に.boxセレクタのdiv要素を表示するとこのようになります。
biセレクタ
.biセレクタは左側の縦の画像指定でpsdding12ピクセル指定されていますので、画像は横幅12ピクセル×縦任意のサイズ以内に右側の横画像を作成すればいいです。
実際にbiセレクタのdiv要素を表示するとこのようになります。
boxセレクタのdiv要素と一緒に表示するとこのようになります。
btセレクタ
btセレクタは右上部コーナーの画像と上部のボーダー画像が表示されるように指定されています。
height(高さ)指定がされていますので17px以内に角丸コーナーが表示できるように画像を作成するといいです。角丸のRも関係していきますので、大きなRで画像を使う場合は、当然Rの表示される縦幅も変わってきますので縦のheight(高さ)指定を変えるようにします。
要素の中身は空の状態です。
実際に.boxセレクタのdiv要素と.biセレクタのdiv要素と一緒に表示するとこのようになります。また、boxセレクタの中でpsdding12ピクセル指定が適用されますので、右側に角丸表示がされるようになります。
btセレクタでの divの入れ子
btセレクタでの divの入れ子は、上部の画像左側の角丸だけを表示するように指定されています。縦17ピクセル横幅18ピクセルのボックスです。当然右上部コーナー指定のbtセレクタとの高さ指定をわせる必要があります。
また、大きなRを使用する場合は、横幅も変わってきますので縦幅指定と同じくしてR画像に合わせて調整する必要があります。要素の中身はからとなります。
実際に.boxセレクタのdiv要素と.biセレクタのdiv要素と一緒に表示するtとこの表示になります。
bb セレクタ
bb セレクタは右下部コーナーの画像と下部のボーダー画像が表示されるように指定されています。
height(高さ)指定がされていますので17px以内に角丸コーナーが表示できるように画像を作成するといいです。角丸のRも関係していきますので、大きなRで画像を使う場合は、当然Rの表示される縦幅も変わってきますので縦のheight(高さ)指定を変えるようにします。
要素の中身は空の状態です。
bb セレクタでの divの入れ子
bb セレクタでの divの入れ子は、下部の画像左側の角丸だけを表示するように指定されています。縦17ピクセル横幅18ピクセルのボックスです。当然右下部コーナー指定のbtセレクタとの高さ指定をわせる必要があります。
また、大きなRを使用する場合は、横幅も変わってきますので縦幅指定と同じくしてR画像に合わせて調整する必要があります。要素の中身はからとなります。
実際に.boxセレクタのdiv要素と.biセレクタのdiv要素と一緒に表示するとこの表示になります。
うまく説明できているかわかりませんが、上記を踏まえておけばjavascript制御での影付き角丸ボックスのCSS設定と画像の関係も理解しやすくなると思います。
※尚、この方法は空のブロック要素を使っての表示方法となります。javascript制御でのたたき台として捉えてもらえればいいと思います。
この方法を改善した方法がTransparent custom corners and bordersです。
そしてさらに改良されたのが、つい最近はてブで人気を集めたjavascript制御での影付き角丸ボックスのCSS設定Transparent custom corners and borders, version 2です。
- Transparent custom corners and borders
- http://www.456bereastreet.com/archive/200505/transparent_custom_corners_and_borders/
- Transparent custom corners and borders, version 2
- http://www.456bereastreet.com/archive/200609/transparent_custom_corners_and_borders_version_2/

