2009年05月22日

block要素の横幅を要素の内容によって伸縮させる方法 その1

こんにちは
馬場です。

divタグやpタグのような
block要素の横幅は
要素の内容に関係なく、
横幅いっぱいに広がります。
(親要素の横幅に依存する)

しかし、
中のテキストの横幅によって
伸び縮みして欲しいときがあります。

今回から3回に分けて、
block要素の横幅を
要素の内容によって
伸縮させる方法を
ご紹介します。




▼displayを使った実現方法


divタグやpタグは
block要素ですので、
横幅はいっぱいいっぱいに伸びます。
(block要素のwidthは親要素のwidthに依存)

それに対し、
inline要素は内容によって
横幅が伸縮します。
(inline要素のwidthは内容に依存)

スタイルで
divタグやpタグの
displayをinlineにすれば、
もちろん要素の内容によって
横幅が伸縮します。



・・・すでにタイトルの

「block要素の横幅を
要素の内容によって
伸縮させる方法」


には反してしまっているような気がしてしかたありませんが。。。

▼スクリーンショット

※スクリーンショットは、windows InternetExplorer6.0のものです。

(htmlコーディング)
<div class="wrapper01">

<div class="balloon01">花金ですから!!</div>
<p>きょうは・・・。</p>

</div>
(cssサンプル)
* {

margin:0;
padding:0;

}
body {

font-size:75%;

}
.wrapper01 {

padding:10px;

}
.wrapper01 p {

padding-top:30px;

}
.balloon01 {

display:inline;
padding:10px 10px 25px 10px;
background-color:#67C3EC;
background-image:url(images/bg01.gif);
background-repeat:no-repeat;
background-position:center bottom;

}
上記のサンプルのように、
吹き出しのように使用する場合は、
inline要素だと上下のpaddingが開いてくれないので、
親要素などでpaddingを開けることになります。





今回は、
block要素の横幅を
要素の内容によって
伸縮させる方法について
displayを使った実現方法を
ご紹介いたしました。


floatを使った実現方法や
positionを使った実現方法については、
次回以降にご紹介させていただきます。 中のテキストの横幅によって
伸び縮みして欲しいときがあります。

今回から3回に分けて、
block要素の横幅を
要素の内容によって
伸縮させる方法を
ご紹介します。




▼displayを使った実現方法


divタグやpタグは
block要素ですので、
横幅はいっぱいいっぱいに伸びます。
(block要素のwidthは親要素のwidthに依存)

それに対し、
inline要素は内容によって
横幅が伸縮します。
(inline要素のwidthは内容に依存)

スタイルで
divタグやpタグの
displayをinlineにすれば、
もちろん要素の内容によって
横幅が伸縮します。



・・・すでにタイトルの

「block要素の横幅を
要素の内容によって
伸縮させる方法」


には反してしまっているような気がしてしかたありませんが。。。

▼スクリーンショット

※スクリーンショットは、windows InternetExplorer6.0のものです。

(htmlコーディング)
<div class="wrapper01">

<div class="balloon01">花金ですから!!</div>
<p>きょうは・・・。</p>

</div>
(cssサンプル)
* {

margin:0;
padding:0;

}
body {

font-size:75%;

}
.wrapper01 {

padding:10px;

}
.wrapper01 p {

padding-top:30px;

}
.balloon01 {

display:inline;
padding:10px 10px 25px 10px;
background-color:#67C3EC;
background-image:url(images/bg01.gif);
background-repeat:no-repeat;
background-position:center bottom;

}
上記のサンプルのように、
吹き出しのように使用する場合は、
inline要素だと上下のpaddingが開いてくれないので、
親要素などでpaddingを開けることになります。





今回は、
block要素の横幅を
要素の内容によって
伸縮させる方法について
displayを使った実現方法を
ご紹介いたしました。


floatを使った実現方法や
positionを使った実現方法については、
次回以降にご紹介させていただきます。

HTML5&CSS3の最新情報はこちら → HTML5GOGO

posted by baba at 17:59 | Comment(0) | TrackBack(0) | テクニック
この記事へのコメント

この記事へのトラックバック
 
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。