3月更新・前月(2月)の人気記事トップ10 03/01/2023
- ( 01 – ) 【iPhone / iPad】iPhoneでSuicaをクレジットカード無しで使う方法
- ( 02 – ) 【Mac】MacにGoogle Driveをインストール
- ( 03 – ) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- ( 06 ↑) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 05 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 05 ↓) 【Mac】Macのユーザー名とアカウント名を変更する
- ( 07 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 08 – ) 【iPhone iPad】iPhoneやiPadの音量を細かく調整する方法
- (圏外↑) 【Labs】マウスオーバーでボタンの色が変わるロールオーバー
- ( 09 ↓) 【jQuery】入門5. jQueryで日時を表示
【Labs】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
サンプルデモはこちら
スマホでのご確認はこちらをどうぞ