[CSS]レスポンシブ対応ページに役立つ機能がまとめられたFlexboxを使ったスタイルシート(Sass対応) -Ocssipital
Post on:2015年11月26日
レスポンシブ対応の柔軟なグリッドをシンプルに、そして簡単に実装することを目的に制作されたひな形として利用できるスタイルシートを紹介します。
レイアウトのベースに最適で、グリッドの設計、デバイスごとに異なるレイアウトや表示・非表示など、レスポンシブ対応ページに役立つ機能が揃っています。
補足: Flexboxの各プロパティの使い方は、以前の記事が分かりやすいと思います。
Ocssipitalの特徴と使い方
MITライセンスで、商用利用、修正、配布、サブライセンスも許可されています。
Ocssipitalの特徴
- Sassベース
- Flexxboxの柔軟なグリッドをサポート
- レスポンシブ対応(3種類のディスプレイサイズ、Retinaディスプレイ)
- ブレイクポイントの変更可能(デフォルトは520px, 1000px 1001px)
- class名のカスタマイズが可能
- 溝や空白も含みます
Ocssipitalの使い方
使い方は簡単で、外部スタイルシート「ocssipital_flexbox.css」を記述するだけです。
1 2 3 4 5 6 7 8 9 10 11 12 |
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>タイトル</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <link rel="stylesheet" type="text/css" href="../dist/ocssipital_flexbox.css" /> </head> <body> <!-- コンテンツ --> </body> </html> |
スタイルシートはクライアントのプロジェクトにそのまま利用してもよし、ブレイクポイントやclass名をプロジェクト用にカスタマイズしてもよしです。
Ocssipitalで基本のグリッドを作成
Ocssipitalは、使いやすい12カラムのグリッドがベースです。
12カラムを組み合わせることで、下記のようにいろいろなカラムを作成できます。
- 9, 3
- 6, 6
- 2, 2, 8
- 3, 3, 3, 3
- 5, 5, 2
- 4, 4, 4
グリッドの実装は、カラム分の数字を使ったclass名を使用します。
「9, 3」のグリッドは、下記のようになります。
1 2 3 4 |
<div class="grid-container"> <div class="grid-column-9">9</div> <div class="grid-column-3">3</div> </div> |
ビューポートごとにカラムのサイズを変更
ビューポートの設定は3種類、それぞれclass名に加えて利用できます。
- -s: 520px以下
- -m: 1,000px以下
- -l: 1,001px以上
通常は「4, 4, 4」のカラムで、小さいスクリーンは「12, 6, 3」のカラムにするといったことも簡単にできます。
1 2 3 4 5 6 7 8 |
<div class="grid-container"> <!-- 小さいスクリーンでは12のカラムで --> <div class="grid-column-4 grid-column-12-s">One</div> <!-- 小さいスクリーンでは6のカラムで --> <div class="grid-column-4 grid-column-6-m">Two</div> <!-- 小さいスクリーンでは3のカラムで --> <div class="grid-column-4 grid-column-3-l">Three</div> </div> |
カラム間の溝のサイズ、左右どちらにつけるかも可能
カラム間の溝もclass名で簡単に設定できます。
1 2 3 4 5 6 |
<div class="grid-container"> <!-- 左側にサイズ3の溝 --> <div class="grid-column-3 grid-gap-left-3">A 3 column gap to the left</div> <!-- 右側にサイズ6の溝 --> <div class="grid-column-3 grid-gap-right-6">A 6 column gap to the right</div> </div> |
デスクトップでは表示、スマホでは非表示の設定も簡単
ビューポートのサイズごとに、表示する・表示しないもclass名で設定できます。
1 2 3 4 5 6 |
<div class="grid-container"> <!-- 小さいスクリーンの時だけ表示 --> <div class="grid-column-4 grid-visible-s">One</div> <!-- 大きいスクリーンの時だけ表示 --> <div class="grid-column-4 grid-visible-l">Two</div> </div> |
sponsors