ボックスデコレーション1
スタイルシートだけだと、どうしてもカクカクした感じのデザインになってしまいます。
そこで、画像を使ってもうちょっとオシャレにしてみましょう。
初回は角を折ったメモ帳風にしてみます。
テクニック使用前
borderを指定するだけだとこんな感じ。
テクニック失敗
背景画像を指定するだけじゃダメなんです。
テクニック使用後
画像とテクニックを使えばこんなこともできます。
やり方
1:画像を用意する
まず角になる画像を用意します。
(分かりやすいように大きくしてあります。)
大事なのは、背景を透過させないこと。透過させてしまうと失敗します。
2:HTMLを書く
HTMLはこんな感じになります。
<div class="sample">
<p class="sample">
画像とテクニックを使えばこんなこともできます。
</p>
</div>
3:スタイルシートを書く
スタイルシートはこんな感じになります。
div.sample{ width:200px; background-color:#FFFFFF; border:#7F2D00 2px solid; } p.sample{ background:url(../../csstec/img/kado.gif) no-repeat right bottom; margin:0em; padding:1em; position:relative; top:2px; left:2px; }
解説
div.sampleはborderを指定しているだけなので、特に難しいところはありません。
全てのポイントはp.sampleにあります。
まず、背景画像を右下に一回だけ表示させます。
つづいてmargin:0em;でDIVまでの余白を無くし、文字を読みやすくさせるためpadding:1em;を追加します。 ここまでやったのが、上のテクニック失敗例です。
最後にポジション関連を使って位置の微調整をします。サンプルの2pxというのはDIVに指定したborderの幅と同じです。 p自体には背景色を指定していないので、枠線が透けて見えますが、背景があるところだけは枠線が隠されてしまい、完成図のように見えます。 これが今回のからくりです。
使いこなすための+α
段落をいくつか入れる場合は次のようなソースになります。
段落をたくさん入れる場合はちょっとややこしいかも。
一番下の段落になるところにだけ背景画像を指定します。
<div class="sample">
<p class="dan-1">
段落をたくさん入れる場合はちょっとややこしいかも。
</p>
<p class="dan-2">
一番下の段落になるところにだけ背景画像を指定します。
</p>
</div>
div.sample{ width:200px; background-color:#FFFFFF; border:#7F2D00 2px solid; } p.dan-1{ margin:0em; padding:1em; padding-bottom:0em; } p.dan-2{ margin:0em; padding:1em; background:url(../../csstec/img/kado.gif) no-repeat right bottom; position:relative; top:2px; left:2px; }
角にする画像と、ボーダーの色がときどき合わないことがあります。 なるべくWEBセーフカラーを使うようにするといいでしょう。