1月31日(水)2コマ目
今日、やったこと
親子関係の<div>でfloatを使う
今日のホワイトボード
親子関係の<div>タグ
以下のHTMLはid=parentの<div>タグ内に3つの<div>タグ(id=box1、id=box2、id=box3)があります。
HTML
id=parentの<div>タグとid=box1~3の<div>タグの関係は下図のイメージです。
|
| 図 親子関係の<div>タグ |
CSSで背景色、大きさの指定をします。
CSS
表示すると以下のようになります。
|
| 図 表示すると |
横並びにする
このid=box1~box3の3つの<div>タグにfloat:left;を指定して、横並びにします。
CSS
3つの<div>タグは横並びになりますが、背景色が赤色のid=parentの<div>タグが表示されません。
|
| 図 表示すると |
これは3つの<div>タグにfloat:left;を指定すると、id=parentの<div>タグから浮き上がります。その結果、id=parentの<div>タグの中身がなくなります。中身が無くなるとid=parentの<div>タグは縦の高さが無くなってしまいます。
|
| 図 親要素(id=parentの<div>タグ)が消えた理由 |
子要素をfloat:leftした親要素に高さを与える
親要素(id=parent)に高さを与えるには
- heightで高さを指定
- overfloat:hiddenを指定
の2種類の方法があります。
〇heightで高さを指定する
親要素(id=parent)に
height: 高さ;
を指定して高さを指定します。
簡単ですが、高さが中途半端になる可能性もあるため、お勧めのやり方ではありません。
〇overflow:hiddenを指定する
overflowはボックス内に収まらない要素をどうするかを指定します。
hiddenを指定すると、ボックス内に収まらない要素は表示しません。
これだとoverflow:hidden;が子要素が浮き上がった親要素の高さに関係はなにもありません。
overflowには別の役割があります。overflowが指定された要素は子要素を並べる基準になります。この結果、親要素は子要素の大きさを知ることができます。
CSS
練習問題
正解例をあげておきます。
HTML
CSS
次回は
次々回あたりに評価用課題を作ってもらいます。



