--- title: Office UI FabricのResponsive Grid tags: OfficeUI AdventCalendar author: furandon_pig slide: false --- 今回はOffice UI Fabtic(以下"OfficeUI")の[レスポンシブグリッド](http://dev.office.com/fabric/styles#responsive-grid)について解説します(昨日の記事では「レスポンシブルグリッド」と鮮やかに誤表記を決めておりました)。 ## レスポンシブグリッド? まずはそもそもレスポンシブルグリッドって何?という所から話が始まります(筆者の場合)。凛知ってるよ![「クラウド」の前にバズったキーワード](https://ja.wikipedia.org/wiki/グリッド・コンピューティング)のことだって……と言いたいところですが、Web開発周りのキーワードなのでおそらく他人の空似でしょう。 とはいえ、あらためてレスポンシブグリッドって何?と言われると、そういえば何だろうという気分になってきます。[Responsive Web Design - Grid-View](http://www.w3schools.com/css/css_rwd_grid.asp)のページを見ると、以下のような説明がされています。 * 多くのWebページはgrid-viewというWebページ内を複数のカラムに分けた形で構成されている * grid-viewはWebページ内のデザインに有用 * grid-vewのカラムはしばしば12等分された形になっており、トータルで幅が100%になる * ブラウザウインドウのサイズ変更に合わせて要素がまとめられたり広げられたりする つまるところ、レスポンシブグリッドを使用したWebデザインにしておくと、ブラウザのウインドウサイズが変更されるようなケースに対応できる、ということですね。おそらくスマートフォンでの閲覧など、図らずも画面サイズが変更されるような状況と同じになった場合でも対応可能なのでしょう。 ## OfficeUIのレスポンシブグリッド機能 ### OfficeUIのレスポンシブグリッド レスポンシブグリッドの概要が何となく分かったところで、OfficeUIのレスポンシブグリッド機能を試してみます。先の説明にもありましたが、カラムが12分割される形になっています。 グリッド分割の例を以下に示します。「ms-u-smX」のようなクラスによりカラムの幅を指定できます。 ![img200.png](https://qiita-image-store.s3.amazonaws.com/0/61137/00706627-c50e-68a3-640e-f2e4f667757c.png) 上記のサンプルコードは以下のようになります。 ```html Grid Sample

Office UI FabricのGridサンプル

{{grids.label}}
``` ### (参考)Bootstrapのレスポンシブグリッド ちなみに、Bootstrapでもほぼ同じようなレスポンシブグリッド機能が用意されています。表示は以下のようになります。 ![img201.png](https://qiita-image-store.s3.amazonaws.com/0/61137/83403240-6f83-13be-f554-5140f2badabf.png) サンプルコードは以下の通りです(OfficeUIのAdvent CalendarなのにBootstrapのサンプルコード……)。 ```html Grid Sample(Bootstrap)

BootstrapのGridサンプル

{{grids.label}}
``` ## レスポンシブグリッドでのUIコンポーネント配置 レスポンシブグリッドの使用例としてボタンを配置してみます。以下の例ではms-u-sm4のカラムにボタンを配置すると以下のような表示になります。 ![img203.png](https://qiita-image-store.s3.amazonaws.com/0/61137/0f159754-22bd-2598-2ec3-a32e0ab1be26.png) ちなみにBootstrapでは、「form-control」クラスを指定すると以下の例の右側のボタンのようにカラムの横幅いっぱい(少し余白がありますが)にボタンが広がります。これに対し、OfficeUIにはform-control的なクラスは用意されておらず、スタイルシードで「width:100%;」を指定する形になります(表示は上記の右側ボタンのような感じになります)。 ![img204.png](https://qiita-image-store.s3.amazonaws.com/0/61137/36c78e59-db65-d5e6-3082-ebf58ce3bde4.png) ## まとめ 今日はOfficeUIのレスポンシブグリットについて解説しました。ほぼ同等の機能がBootstrapでも提供されているため理解しやすい概念ではないかと思います。 明日はOfficeUIのアイコンについて解説したいと思います。 ## 参考URL * [Responsive Grid](http://dev.office.com/fabric/styles#responsive-grid) * [Responsive Web Design - Grid-View](http://www.w3schools.com/css/css_rwd_grid.asp)