- ベストアンサー
floatの使い方について質問があります。
floatの使い方について質問があります。 http://homepage.wakabagari.com/sample15.html 上記のホームページは外部cssにてfloatを設定していますが なぜ、HOME~SAMPLE4をwidth:830pxに設定すると、 以下のコンテンツがその幅に収まるようにfloatされるのでしょうか? 私の感覚では、あくまでHOME~SAMPLE4の幅が830pxになるだけで、 以下のコンテンツは特別に改行でもしない限り、その右側に続いていくと 思っていたのですが。 どうぞよろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんばんはNo.1です。 <div>はもともと縦にならんでいきます。 <div>コンテンツ1</div> <div>コンテンツ2</div> <div>コンテンツ3</div> とすると 【コンテンツ1】 【コンテンツ2】 【コンテンツ3】 という風に並びます。 それを 【 コ ン テ ン ツ 1 】 【コンテンツ2】【コンテンツ3】 こういう風に並べるために 「float」が使われます。 今回のは 【コンテンツ1】 【コンテンツ2】 とあり、2の中に <div>が三つほどfloatで横に並んでいます。 ┌┐ ││ └┘ ┌──────┐ │┌┐┌┐┌┐│ ││││││││ │└┘└┘└┘│ └──────┘ (極端なイメージ)
その他の回答 (2)
- yyr446
- ベストアンサー率65% (870/1330)
「HOME~SAMPLE4をwidth:830pxに設定すると、以下のコンテンツがその幅に 収まるようにfloatされる」 =>そんなこと、ないと思うんですけど。実際に試されたんですか、そもそも 820pxにおさまってたのを830pxに変えても、その幅にその幅に収まるのは当然 のような。質問の意図が違うのかなあ。。 ご提示のページだと <div> 幅820PXを固定指定 HOME~SAMPLE4のリンクを配置 </div> <div> 親DIV幅820PXを固定指定 <div>子供幅160px固定でfloat left</div> <div>子供幅420px固定でfloat left</div> <div>子供幅160px固定+左マージン40px固定でfloat left</div> </div> <div>ここでフローと解除</div> で、%指定は無いし、javascriptで変えてるようにも見えないです。
補足
【 コ ン テ ン ツ (1) 】【コンテンツ(2)】【コンテンツ(3)】 上記をfloatで 【 コ ン テ ン ツ (1) 】 【コンテンツ(2)】【コンテンツ(3)】 上記のようなレイアウトにしたとすると 私が申し上げたHOME~SAMPLE4というのはコンテンツ(1)にあたります。 この幅が830pxに設定されていて、以下のコンテンツ(2)と(3)がこの幅の中に収まる ようになっているというのを言いたかったのです。
- cotae_bb
- ベストアンサー率53% (51/95)
こんにちは HOME~SAMPLE4 までは<div class="a2">の中にいますよね? これらはstyleがwidth:820px;に設定されているので、 横一列にならんでいます。 もしかしてHOMEの下のSAMPLE1~4をみてますか? これらは<div class="b">の中の<div class="b1">の中にいるので、 HOMEとは別の枠の中にいます。
お礼
【 コ ン テ ン ツ (1) 】【コンテンツ(2)】【コンテンツ(3)】 上記をfloatで 【 コ ン テ ン ツ (1) 】 【コンテンツ(2)】【コンテンツ(3)】 上記のようなレイアウトにしたとすると 私が申し上げたHOME~SAMPLE4というのはコンテンツ(1)にあたります。 この幅が830pxに設定されていて、以下のコンテンツ(2)と(3)がこの幅の中に収まる ようになっているというのを言いたかったのです。
補足
たびたびのご回答恐れ入ります。 コンテンツ1の幅を830pxから800pxに変更したところ、 コンテンツ2の幅も狭くなり ┌―――――┐ │ │ └―――――┘ ┌─────┐ │┌┐┌┐ │ │││││ │ │└┘└┘ │ │┌┐ │ │││ │ │└┘ │ └─────┘ 上記のようになりました。 これは何か特別な設定がされているのでしょうか?