W3.CSS レスポンシブ流動グリッド

❮ 前章へ 次章へ ❯

レスポンシブ・グリッド

W3.CSS は、12 カラムのレスポンシブ・流動グリッドをサポートしています。

効果を確認するために、ページのサイズを変更してください!

1
2
3
4
5
6
7
8
9
10
11
12

この部分は、小型画面では 12 カラム、中型画面では 4 カラム、大型画面では 3 カラムを占有します。

この部分は、小型画面では 12 カラム、中型画面では 8 カラム、大型画面では 9 カラムを占有します。

1
2
3
4
5
6
7
8
9
10
11
12

<div class="w3-row">
  <div class="w3-col m4 l3">
    <p>12 columns on a small screen, 4 on a medium screen, and 3 on a large screen.</p>
  </div>
  <div class="w3-col m8 l9">
    <p>12 columns on a small screen, 8 on a medium screen, and 9 on a large screen.</p>
  </div>
</div>
Try It Yourself ❯

レスポンシブ行

W3.CSS のグリッドシステムはレスポンシブで、画面サイズに応じてカラムは自動的に再配置されます: 大型画面では、3 カラムに編成したコンテンツの方がより良く見えるかもしれませんが、小型画面では、コンテンツ項目を互いの上に積み上げた方が より良く見えるかもしれません。

カラムは、完全にレスポンシブであるためには row 内部になければなりません。

クラス 説明
w3-row レスポンシブ・カラムのためのパディングなしのコンテナを定義する。
w3-row-padding レスポンシブ・カラムのためのパディング付きのコンテナを定義する。
w3-col サブクラス付きのカラムを定義する。

w3-col には、次のサブクラスがあります:

小型画面用のカラム (代表:スマートフォン):

クラス 説明
s1 小型画面の 1 / 12 カラム (width:08.33%) を定義する
s2 小型画面の 2 / 12 カラム (width:16.66%) を定義する
s3 小型画面の 3 / 12 カラム (width:25.00%) を定義する
s4 小型画面の 4 / 12 カラム (width:33.33%) を定義する
s5-s11  
s12 12 / 12 カラム (width:100%) を定義する。小型画面のデフォルト

中型画面用のカラム (代表:タブレット):

クラス 説明
m1 中型画面の 1 / 12 カラム (width:08.33%) を定義する
m2 中型画面の 2 / 12 カラム (width:16.66%) を定義する
m3 中型画面の 3 / 12 カラム (width:25.00%) を定義する
m4 中型画面の 4 / 12 カラム (width:33.33%) を定義する
m5-m11   
m12 12 / 12 カラム (width:100%) を定義する。中型画面のデフォルト

大型画面用のカラム (代表:ラップトップ):

クラス 説明
l1 大型画面の 1 / 12 カラム (width:08.33%) を定義する
l2 大型画面の 2 / 12 カラム (width:16.66%) を定義する
l3 大型画面の 3 / 12 カラム (width:25.00%) を定義する
l4 大型画面の 4 / 12 カラム (width:33.33%) を定義する
l5-l11  
l12 12 / 12 カラム (width:100%) を定義する。大型画面のデフォルト

より動的で柔軟なレイアウトを作成するために、上のクラスを組み合わせることができます。

各クラスは、アップスケールなため、小型、中型、大型画面にそれぞれ同じ幅を設定したい場合は、small クラスを 指定するのみで設定可能です。また、中型および大型画面で同じ幅にしたい場合には、中型クラスを指定するのみです。

しかし、中型と大型クラスの両方または何れか一方を使用する場合、小型画面では幅が 100% に変換されます。

注: カラム数は、それぞれの行ごとに、合計が常に 12 でなければなりません(6+6, 3+3+6, 9+3,など)!


2 つの幅の等しいカラム

すべての画面サイズ上の 2 つの等幅カラム(50%/50%):

s6

s6

<div class="w3-row">
  <div class="w3-col s6 w3-green w3-center"><p>s6</p></div>
  <div class="w3-col s6 w3-dark-grey w3-center"><p>s6</p></div>
</div>
Try It Yourself ❯

2 つの幅の異なるカラム

すべての画面サイズ上の 2 つの幅の異なるカラム(25%/75%):

s3

s9

<div class="w3-row">
  <div class="w3-col s3 w3-green w3-center"><p>s6</p></div>
  <div class="w3-col s9 w3-dark-grey w3-center"><p>s6</p></div>
</div>
Try It Yourself ❯

3 つの幅の等しいカラム

すべての画面サイズ上の 3 つの等幅カラム(33.3%/33.3%/33.3%):

s4

s4

s4

<div class="w3-row">
  <div class="w3-col s4 w3-green w3-center"><p>s4</p></div>
  <div class="w3-col s4 w3-dark-grey w3-center"><p>s4</p></div>
  <div class="w3-col s4 w3-red w3-center"><p>s4</p></div>
</div>
Try It Yourself ❯

3 つの幅の異なるカラム

タブレット、ラップトップ、デスクトップ上では幅の異なるカラム(25%/ 50%/ 25%)。 携帯電話におけるカラムは、自動的にスタックされます(幅 100%):

m3

m6

m3

<div class="w3-row">
  <div class="w3-col m3 w3-green w3-center"><p>m3</p></div>
  <div class="w3-col m6 w3-dark-grey w3-center"><p>m6</p></div>
  <div class="w3-col m3 w3-red w3-center"><p>m3</p></div>
</div>
Try It Yourself ❯

注: この例は、W3.CSS レスポンシブ で学習した w3-quarter (m3)、w3-half (m6)、w3-quarter (m3) を使用するのと同じです。


6 カラム

タブレット、ラップトップおよびデスクトップ上での幅の等しいカラム(各 16%)。 携帯電話におけるカラムは、自動的にスタックされます(幅 100%):

m2

m2

m2

m2

m2

m2

<div class="w3-row">
  <div class="w3-col m2 w3-green w3-center"><p>m2</p></div>
  <div class="w3-col m2 w3-red w3-center"><p>m2</p></div>
  <div class="w3-col m2 w3-blue w3-center"><p>m2</p></div>
  <div class="w3-col m2 w3-dark-grey w3-center"><p>m2</p></div>
  <div class="w3-col m2 w3-black w3-center"><p>m2</p></div>
  <div class="w3-col m2 w3-purple w3-center"><p>m2</p></div>
</div>
Try It Yourself ❯

ミックス:携帯とラップトップ

動的で柔軟なレイアウトを作成するために、クラスを組み合わせることができます。この例では、 大画面では 83.34%/16.66% (l8, l4) の分割、小型画面では 50%/50% (s6, s6) に分割した 2カラムのレイアウトを作成します:

l8 s6

l4 s6

<div class="w3-row">
  <div class="w3-col l8 s6 w3-pink w3-center"><p>l8 s6</p></div>
  <div class="w3-col l4 s6 w3-dark-grey w3-center"><p>l4 s6</p></div>
</div>
Try It Yourself ❯

ミックス: 携帯、タブレットとラップトップ

この例では、大画面では 25%/58.34%/16.66% (l3, l7, l2) の分割、中型画面では 50%/25%/25% (m6, m3, m3) の分割、 小型画面では 33.3%/33.3%/33.3% (s4, s4, s4) に分割した 3カラムのレイアウトを作成します:

l3 m6 s4

l7 m3 s4

l2 m3 s4

<div class="w3-row">
  <div class="w3-col l9 m6 s4 w3-green w3-center"><p>l8 s6</p></div>
  <div class="w3-col l2 m3 s4 w3-dark-grey w3-center"><p>l4 s6</p></div>
  <div class="w3-col l1 m3 s4 w3-red w3-center"><p>l4 s6</p></div>
</div>
Try It Yourself ❯

w3-row と w3-row-padding の違い

w3-row クラスは、パディングなしのコンテナを定義し、w3-row-padding クラスは、各列の左右に 8px のパディングを追加します:

w3-row:

w3-row-padding:

<div class="w3-row">
  <div class="w3-col s4"><img src="img_lights.jpg"></div>
  <div class="w3-col s4"><img src="img_nature.jpg"></div>
  <div class="w3-col s4"><img src="img_fjords.jpg"></div>
</div>

<div class="w3-row-padding">
  <div class="w3-col s4"><img src="img_lights.jpg"></div>
  <div class="w3-col s4"><img src="img_nature.jpg"></div>
  <div class="w3-col s4"><img src="img_fjords.jpg"></div>
</div>
Try It Yourself ❯

w3-rest の使用

w3-rest クラスは、残ったグリッドカラムを使用する強力で柔軟なクラスです。

150px

rest


75px

rest


100px

100px

rest


quarter

80px

rest

quarter


quarter

quarter

35%

rest

rest の使用例

<div class="w3-row">
    <div class="w3-col" style="width:150px"><p>150px</p></div>
    <div class="w3-rest"><p>rest</p></div>
</div>
Try It Yourself ❯

class="w3-rest" を使用する要素は、要素は常にソースコード内の最後の要素でなければなりません。


パーセントの使用

カラムを指定の幅に決定するためには、CSS の width プロパティを使用します。

20%

60%

20%


45%

55%


15%

35%

10%

30%

10%

<div class="w3-row">
    <div class="w3-col w3-container w3-green" style="width:20%"><p>20%</p></div>
    <div class="w3-col w3-container w3-blue" style="width:60%"><p>60%</p></div>
    <div class="w3-col w3-container w3-red" style="width:20%"><p>20%</p></div>
</div>
Try It Yourself ❯


❮ 前章へ 次章へ ❯