通常フローしたブロック要素を横並びにするにはこれまでfloatプロパティを使用していましたが、その挙動は難しくて入門者を困らせる関門でした。CSS3で定義されたFlexBoxの仕組みを使うと簡単に横並びのレイアウトが出来上がります。また、今までできなかったこともうまく解決できるようになりました。まずは簡単に横並びのレイアウトを作成してみましょう。
FlexBox解説動画
通常フローのレイアウトを横並びのレイアウトに変更する例
上のような通常フローを下のような横並びのレイアウトに変えるにはflexレイアウトを使うと簡単です。
今回のサンプルとコード
HTMLコード
<div class="content"> <div class="column"> <img src="images/flower.jpg" /> Lorem ipsum dolor sit amet... </div> <div class="column"> <img src="images/green.jpg" /> Lorem ipsum dolor sit amet... </div> <div class="column"> <img src="images/ajisai.jpg" /> Lorem ipsum dolor sit amet... </div> </div>
通常フローレイアウトのCSSコード
.content{ width:100%; margin: auto; } .column{ padding: 10px; border:1px solid #333; margin-bottom: 50px; }
横並びレイアウトのCSSコード
.content{ display:flex; width:100%; margin: auto; } .column{ padding: 10px; border:1px solid #333; margin-right: 20px; } .column:last-child{ margin-right:0; }
作成手順
- flexコンテナにdisplay:flexを記述するだけで横並びレイアウトが出来上がります。それだけでOK!!簡単なのです。
flexレイアウトを使うためには、「flexコンテナ」と「flexアイテム」2つの用語を覚えましょう。
- flexコンテナとは横並びにするカラムをまとめる親要素
- flexアイテムとは横並びにするカラムのこと
あとは、flexコンテナに display : flex; とするだけ。
display:flexを使用するポイント
縦並びと横並びを明示的に指定する方法
全ての始まりはflexコンテナに 「display:flex」と記述することから始まります。
flexを使用して縦並びを明示的に指定するには「flex-direction:column」のプロパティと値を使用します。
横方向のレイアウトはflexコンテナに flex-direction : row;
縦方向のレイアウトはflexコンテナに flex-direction : column;
縦方向のレイアウトはflexコンテナに flex-direction : column;
DogRoboの毎日の仕事といえばブロック積みをすること。ブリキ製のロボットにとって単純作業はお手のものだ。けれども、困った案件もある。それはブロックを空中で横並びにする作業だった。それは、ブロックを浮遊状態にしてから並べる必要があるからだ。
デザイナー諸君に聞いてもらいたい。Webの世界とはいえ、現実の物理の法則に従ったデザインを心がけて欲しい。ブロックを空中で横並びにするとは物理の法則を逸脱した行為なのだから..
そんなことをブツブツ言いながら作業をするのだった。
デザイナー諸君に聞いてもらいたい。Webの世界とはいえ、現実の物理の法則に従ったデザインを心がけて欲しい。ブロックを空中で横並びにするとは物理の法則を逸脱した行為なのだから..
そんなことをブツブツ言いながら作業をするのだった。
Web動画記事一覧
- Slickの導入方法 (動画あり)
- Web作成講座〜FlexBoxレイアウトでヘッダーを作成(動画あり)
- Web作成講座 FlexBoxレイアウトの動画
- Web作成講座 floatレイアウト1(動画あり)
- Web作成講座 floatレイアウト2 (コード解説 動画)
- Web制作講座 Webフォント、inlin-block、marginの相殺について(動画あり)
- Web制作講座 backgroundプロパティの説明(動画あり)
- CSS flex〜チートシート(動画あり)
- FlexBoxの使い方(7)〜 flex-wrapについて(動画あり)
- FlexBoxの使い方(5)〜flexプロパティについて(動画あり)
- FlexBoxの使い方(4)〜display:inline-flexについて(動画あり)
- FlexBoxの使い方(3)〜flexアイテムの順番を入れ替え(動画あり)
- FlexBoxの使い方(1)〜display:flexについて(動画あり)
コメントを投稿するにはログインしてください。