menu
menu

キーワード検索

 

前月(5月)の人気記事トップ10 - 6/3/2019

  1. ( 3 ↑) 【CSS】CSSだけでドロップダウンメニュー
  2. ( 1 ↓) 【Mac】Macのユーザー名とアカウント名を変更する
  3. ( 2 ↓) 【iPhone・iPad】iPhoneのメモリを簡単に解放する方法
  4. ( 4 - ) 【CSS】スマホ対応CSSだけでドロップダウンメニュー
  5. ( 8 ↑) 【Mac】Finderにフォルダのフルパスを表示させる方法
  6. (圏外↑) 【制作Tips】画面解像度一覧表
  7. ( 10 ↑) 【制作Tips】iPad画面解像度まとめ
  8. (圏外↑) 【jQuery】入門2. jQueryをHTMLに組み込む
  9. ( 9 - ) 【WiMAX】HUAWEI W04 気づくとWi-Fiの接続が切れてる
  10. ( 6 ↓) 【決定版】フォントの設定はこれで決まり❗️
このエントリーをはてなブックマークに追加

【CSS】Flexboxでレスポンシブなグリッドレイアウト

【CSS】Flexboxでレスポンシブなグリッドレイアウト

こんにちは(・∀・)

今回はFlexboxでグリッドレイアウトを作ってみます。レスポンシブデザインでブレークポイントはスマホ・タブレット・PCの3つです。

以前CSSだけでグリッドレイアウトを作ってみましたが子要素の高さを固定にしないとグリッドレイアウトとしてうまく機能しなかったためなかなか使いづらかったのですが、高さの指定をする必要のないFlexboxは、まさにグリッドレイアウトのためにあるようなものですね

サンプル

要素の大きさは2種類です。スマホとタブレットでは横幅300pxと145pxの要素を並べています。PCでは横幅455pxと300pxの要素を並べています。box-sizing:border-boxを指定してあります。

HTML

<div id="contents">
<div class="g1">
<h5>grid1</h5>
<!--grid--></div>
<div class="g1">
<h5>grid2</h5>
<!--grid--></div>
<div class="g2">
<h5>grid3</h5>
<!--grid--></div>
<div class="g2">
<h5>grid4</h5>
<!--grid--></div>
<div class="g2">
<h5>grid5</h5>
<!--grid--></div>
<div class="g2">
<h5>grid6</h5>
<!--grid--></div>
<div class="g2">
<h5>grid7</h5>
<!--grid--></div>
<div class="g2">
<h5>grid8</h5>
<!--grid--></div>
<div class="g1">
<h5>grid9</h5>
<!--grid--></div>
<div class="g1">
<h5>grid10</h5>
<!--grid--></div>
<div class="g2">
<h5>grid11</h5>
<!--grid--></div>
<div class="g2">
<h5>grid12</h5>
<!--grid--></div>
<div class="g2">
<h5>grid13</h5>
<!--grid--></div>
<div class="g2">
<h5>grid14</h5>
<!--grid--></div>
<div class="g2">
<h5>grid15</h5>
<!--grid--></div>
<div class="g2">
<h5>grid16</h5>
<!--grid--></div>
<div class="g1">
<h5>grid17</h5>
<!--grid--></div>
<div class="g1">
<h5>grid18</h5>
<!--grid--></div>
<!--contents--></div>
CSS

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
#contents {
  width: 320px;
  margin: 0 auto;
  padding: 5px;
  background: #ccc;
  display: flex;
  flex-wrap: wrap;
}
  .g1 {
    width: 300px;
    background: #9fb7d4;
    margin: 5px;
    padding: 10px;
  }
  .g2 {
    width: 145px;
    background: #afc6e2;
    margin: 5px;
    padding: 10px;
  }
/*  **  */
@media (min-width: 640px) {
#contents {
  width: 640px;
  padding: 5px 10px;
  background: #ccc;
}
/*  **  */}
@media (min-width: 960px) {
#contents {
  width: 960px;
  padding: 10px 15px;
  background: #afc6e2;
}
  .g1 {
    width: 455px;
  }
  .g2 {
    width: 300px;
  }
/*  **  */}
Result

サンプルデモはこちら
スマホでのご確認はこちらをどうぞ
QRコード


関連リンク

Flexboxでレイアウト

  • CSS Flexbox グリッドレイアウト レスポンシブデザイン
このエントリーをはてなブックマークに追加