読者です 読者をやめる 読者になる 読者になる

求職者支援訓練webサイト制作科授業資料

フェリカテクニカルアカデミー池袋の求職者支援訓練webサイト制作科7月クラスの授業解説ブログです。

floatの復習

CSS

divなどのブロックレベル要素は通常ソースで書かれた順番に上から下に縦に並びます。
f:id:yachin29:20160211021709j:plain


しかしfloatを使う事で要素を浮かす事が出来、さらに左右どちらかの方向を指定する事で横に並べる事が出来ます。
f:id:yachin29:20160211021723j:plain


floatを使う事でHTML内の文章構造を変える事なく比較的自由なレイアウトが作れるようになります。
なのでfloatの特性をしっかり理解し、文章構造を変える事なく色々なレイアウトを作ってみましょう。

回り込み防止

floatは様々なレイアウトを可能にする非常に便利な物ですが、それと同時に気をつけないといけない事があります。
floatを利用してボックスを配置すると、floatを指定した要素の下の要素がfloatにつられて回りこんでしまいます。
それを防止する為に授業では2つの方法を使います。

親要素にoverflow:hidden;

floatを指定する要素を親要素で囲み、その親要素にoverflow:hidden;を指定する事で回りこみを防止出来ます。

clearプロパティを使う

floatを指定した要素の下の要素にclearプロパティを使う



3カラムの場合、レイアウトによってはwrapper要素の中にさらにwrapper的な要素(今回はinner_wrapper)が必要になります。
f:id:yachin29:20160211040631j:plain

ソースコード
<body>
<div id="container">
<header>header</header>

<div id="wrapper">
<div id="inner_wrapper">
<div id="main">main</div>
<div id="sub">sub</div>
</div><!--#inner_wrapper-->

<div id="third">third</div>
</div><!--#wrapper-->

<footer>footer</footer>
</div>
</body>



またフロートの特性を覚えることで、グリッドレイアウトの作成も容易になります。
f:id:yachin29:20160211040409j:plain



ソースコード
<body>
<div id="container">
<header>header</header>

<div id="wrapper">
<div id="main">main</div>
<div id="sub">sub</div>
<div id="third">third</div>
<div id="four">four</div>
<div id="five">five</div>
<div id="six">six</div>
</div><!--/#wrapper-->

<footer>footer</footer>
</div>
</body>
css
body {
  background: #CCC;
}
#container {
  width: 940px;
  margin: 0 auto;
  background: #FFF;
  padding: 10px;
  font-size: 36px;
}
header {
  width: 940px;
  height: 200px;
  background: #BBFEA5;
  margin-bottom: 10px;
}
#wrapper {
  overflow: hidden;
  margin-bottom: 10px;
}
#main {
  width: 400px;
  height: 400px;
  float: right;
  background: #FCF;
}
#inner_wrapper {
  float: left;
  overflow: hidden;
}
#sub {
  width: 300px;
  height: 400px;
  float: left;
  margin-right: 10px;
  background: #3FF;
}
#third {
  width: 220px;
  height: 400px;
  float: right;
  background: #9CC;
  margin-left: 10px;
}
footer {
  width: 940px;
  height: 100px;
  background: #FC0;
}
広告を非表示にする