タイトル付ボックス

ブログでスタイルシート

トップ  > ブログでスタイルシート

注意事項

現在の楽天ブログでは、記事入力の中に改行コードがあると、自動的に改行するタグ(BRタグ)が付加されます。 テキストだけの場合には、このほうが便利なのですが、スタイルシートでレイアウトした場合、ブラウザでの表示が崩れます。
そのため、サンプルHTMLも自動的に改行が入るのを前提にしています。 見づらかったり、編集しづらかったりしますが、現在の仕様上仕方がありません。 ここのサンプルは、楽天ブログで利用できるHTMLを使っています。なお、楽天ブログの「トップ自由欄」や「フリーページ」で利用するときに「自動改行なし(<BR>タグで指定)」のモードで編集する場合には、タグの途中とかでない限り、どこに改行を入れてもかまいません。
他のブログサイトでも、そのまま使えますが、利用できるHTMLに制限がある場合、うまく表示されないことがあります。もし、スタイルシートを別ファイルで指定できるのであれば、タグのstyle属性をclassやidに変更して指定したほうがスマートです(楽天ブログではこれができません)。

タイトル付ボックス

タイトル付ボックスといっているのは、上に背景色ありでタイトルを表示して、下は普通のボックスとなっているものです。ちょうど、Windowsのウィンドウのような感じになります。まずは基本的なサンプルです。

サンプルHTML
<div style="border:solid 1px pink"> <div style="background-color:pink;padding:3px;margin-bottom:3px">タイトル</div>ここに
文章を書く</div>
ブラウザ表示
タイトル
ここに
文章を書く

タイトルのテキストが中央寄せのほうが見やすいし、見た目もいいので変えてみます。

サンプルHTML
<div style="border:solid 1px pink"> <div style="background-color:pink;padding:3px;margin-bottom:3px;text-align:center">タイトル</div>ここに
文章を書く</div>
ブラウザ表示
タイトル
ここに
文章を書く

ちなみに枠付きボックスと同じですが、この場合も横幅は100%(横幅いっぱい)になります。あえて横幅を設定すると次のようになります。

サンプルHTML
<div style="border:solid 1px pink;width:200px"> <div style="background-color:pink;padding:3px;margin-bottom:3px;text-align:center">タイトル</div>ここに
文章を書く</div>
ブラウザ表示
タイトル
ここに
文章を書く

ボックスを右に寄せる

floatを使って右に寄せます。floatしたボックスのサイズはデフォルトだと「0」です。横幅を設定しない場合、中のインライン要素で幅が決定することになります。横幅を設定したほうが明らかにレイアウトしやすいので、設定することにします。

サンプルHTML
<div style="float:right;width:200px"> <div style="border:solid 1px pink"> <div style="background-color:pink;padding:3px;margin-bottom:3px;text-align:center">タイトル</div>ここに
文章を書く</div></div>ここはボックスの外です。<div style="clear:right"></div>
ブラウザ表示
タイトル
ここに
文章を書く
ここはボックスの外です。

ここまでくると、タグやスタイルが複雑なのでHTMLがごちゃごちゃしてきました。自動改行がなければ、ちゃんと改行して見やすくできるんですが、仕方がありません。

ボックスを2つ並べる

これ以上タグを複雑にしてどうするのかといわれそうですがやります。floatを使って2つ横に並べてみます。

サンプルHTML
<div style="float:left;width:45%"> <div style="border:solid 1px pink"> <div style="background-color:pink;padding:3px;margin-bottom:3px;text-align:center">左のタイトル</div>左の文章は
ここに書く</div></div> <div style="float:right;width:45%"> <div style="border:solid 1px pink"> <div style="background-color:pink;padding:3px;margin-bottom:3px;text-align:center">右のタイトル</div>右の文章は
ここに書く</div></div> <div style="clear:both"></div>
ブラウザ表示
左のタイトル
左の文章は
ここに書く
右のタイトル
右の文章は
ここに書く

ここでは、幅を左右とも45%に設定してみました。隙間の加減は48%のところを調整してください。くれぐれも100%は超えないように。きれいなレイアウトをするには、表示しようとしているブロックレベルの横幅をpxやemなどで設定して、floatのサイズもpxかemで指定したほうがよいです。そうすると隙間の幅がちゃんと制御できます。「%」の設定だと元の横幅に依存します。これ以上複雑にすると解読困難になりそうなので、この辺でやめておきます。「ここに...」と書いてある所にさらにタグを入れていけば、より複雑なレイアウトにすることができます。


Copyright© 2006 finky. All Rights Reserved.


© Rakuten Group, Inc.
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: