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


次回は

次々回あたりに評価用課題を作ってもらいます。



このブログの人気の投稿

10月4日(水)2コマ目

11月29日(水)2コマ目

1月17日(水)2コマ目