未経験からでもWEBエンジニアになれるブログ(さぼり気味)

可能な限り楽して生きていきたい。好きなものだけ食べて痩せたい。控えめに行っても玉の輿乗りたい。ほんとはプライベートブログにしたい。何もしてないのに尊敬されたい。家から出たくない。

HTML/CSS-11日目

最初の方とかめっちゃきちんと内容書きよったのに最近ものっそい雑になりよる。

 

 

 

どうでもいいけど鶏に似合うスニーカー探してます。

 

 

 

 

今日は2段組のボックスレイアウトを作ります。

 

 

 

 

 

 

 

 

----------ぱっ-------------------------------------ぱっ---------------------------------------- 

 

 

ボックス要素を使用して二段組のレイアウトを作っていきます。

完成を目指すのはこの形。ものすごいレゲエ臭。

 

f:id:mocha0426:20170727013457p:plain

 

早速やっていきましょう。

 

 

 

 


中身を作る(HTML)


では、HTMLから。

 

f:id:mocha0426:20170727013553p:plain


完成図、わかりづらいけどグレーの背景色の中に白いまとまりがあって、

その中にさらにヘッダーやらなんやかんやと、各要素が入っています。

 

この白い、二段組ボックスレイアウトの一番外側のひとを、一般的にwrapperと呼びます。

 

f:id:mocha0426:20170727013838p:plain

 

 


HTMLで中身を書いていきます。

 


<header><article><nav><footer>


そしたらそのwrapperの中にさらに上の4つの要素があるので、適当にタグを作って書いていきます。

 

 

<header>には<h1>が、
<nav>には<ul>が、基本的には必須となります。

 

 

f:id:mocha0426:20170727014009p:plain

 


装飾なしですが、中身はこれで完了です。意外と少ないですね。

 

 

調子乗って色は自分好みに変えながら進めます。

 

完全に調子に乗った輩の挙動。

 

 

 

 


-------------------------------------------------------------------

 

 

各要素を装飾する(CSS

 

 

CSSを書いていきます。

 


CSSを書き始める前に、まず、これらのすべての要素がボックスになっているか確認しながら進めたほうがいいです。今回ははしょる。

 

 

 


全体の背景色を決める

 




ここでついでにリセットもしておきます。
さらに、全体の背景色を設定。

 

 

f:id:mocha0426:20170727122403p:plain

 


少し詰まって、背景も変わりました。

 

 

 

 

 

ボックス関連を指定


ここから、
ボックス関連を指定していきます。

 

 

 

 

wrapper


外側からせめて行きましょう。

 

f:id:mocha0426:20170727122639p:plain


.wrapperはヘッダーやフッターなどを内包する一番大きい外側の箱です。
赤い下線部marginの10PX autoは、垂直方向に10PX、さらに左右方向に自動で余白を取って配置してという命令。

 

f:id:mocha0426:20170727122653p:plain

 

 

 

 

 


さらにそのネストに当たるボックスについて書いていきます。

 

 

 

頭の部分です。
背景色、高さ、内外余白を指定します。
横幅は指定しないので、外部余白分のみ左右に余白が発生します。



 

f:id:mocha0426:20170727122822p:plain

 

 

 


article

 

右側の箱です。黄色いやつ。
幅と高さを指定し、floatで右側に浮かせます。



 

f:id:mocha0426:20170727123225p:plain

 

 

左側水色の箱です。リスト入りのやつ。
幅と高さを指定し、左側に浮かせます。



 

f:id:mocha0426:20170727123317p:plain

 

 

 

 

 

 

一番下の箱です。

 

clear: both;


footerの上部にはnavとarticleがありますが、これら2つはfloatにより浮いています。


clear: both;と書くことで、フロートによる要素の回り込みを解除します。前回のブログでやったやつ。

f:id:mocha0426:20170727123354p:plain

 


これで完成です。

 

f:id:mocha0426:20170727123406p:plain

 


ちなみに、footerのclearを書かないとこうなります。

 

f:id:mocha0426:20170727123428p:plain

 

 

なぜなら、navとarticleがフロートにより浮いているから。


親要素であるwrapperがこの浮いている2つを認識できないのです。

 

footerにclearをかけてやることで、親要素にfooterを認識させ、footerまでの領域をwrappwrが確保できるようにします。


では、footerがない場合に領域を確保させるには?

 

 

 

 

 


clearfixを使う

 


先日のブログに書いた「clearfix」を使います。

 

親要素の最後に、clear=bothを含んだブロックレベル要素をおく、というやり方です。

おさらいもかねて、改めてやってみます。

 

 

 

①divにクラス[clearfix]を与える

 

 

f:id:mocha0426:20170727123539p:plain

 

 

クラスを二つ持たせるのは問題ないので、まとめて持たせてあげましょう。

 

 


②外部CSSにclearを書き込む

 

 

f:id:mocha0426:20170727123557p:plain

 

 

.clearfix:after


で、clearfixというクラスをもつ箱のafter(後)に、このCSSを適当します。という意味になります。


content="";

CSSから文字を出力することが可能になります。""の中に文字を入れると、clearfixというクラスを持つ箱の後に、その文字列が出力されます。

 

display: block;

ブロック要素にします。clear=bothを含んだブロックレベル要素をおかないと解除されませんので、ここでブロック要素にします。


clear: both;
これで解除の命令を出します。

 

f:id:mocha0426:20170727123721p:plain

 

綺麗にまとまりました。

 

 

これで段組レイアウトボックスは完成です。

レッツトライ↑