SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ASP.NET MVC5+Bootstrapでレスポンシブでリッチなサイトを構築

ASP.NETに採用されたBootstrapのグリッドシステム&ナビゲーション

ASP.NET MVC5+Bootstrapでレスポンシブでリッチなサイトを構築 第2回


  • X ポスト
  • このエントリーをはてなブックマークに追加

デバイス別の設定方法

 ここまでの例では、「col-md-数字」というように真ん中を"md"と記述していましたが、md以外の文字列を指定することで、デバイスのサイズに応じたレイアウトを指定できます。

マルチデバイスに対応したグリッドシステムのclass指定
区分 極小サイズ
(スマホ:768px未満)
小サイズ
(タブレット:768px以上)
中サイズ
(PC:992px以上)
大サイズ
(1200px以上)
クラス名 .col-xs-数字 .col-sm-数字 .col-md-数字 .col-lg-数字
コンテナ
最大幅
auto 750px 970px 1170px
各カラム
最大幅
auto 60px 78px 95px

 下記のHTMLでは、PCサイズに加えスマホサイズを「col-xs-8」「col-xs-4」「col-xs-12」と指定しています。これによって、1つ目と2つ目のボックスが2対1で表示された後、3つ目のボックスが下に表示されます(Bootstrapでは、12カラムを超える場合は縦方向に積まれて表示されます)。そしてPCサイズの992pxより大きい場合には、4対4対4の均等幅で表示されます。

スマホサイズでの表示
スマホサイズでの表示
スマホ用のレイアウト比率を設定(index.cshtml)
<!-- 行の指定 -->
<div class="row">

  <!-- 1つ目(スマホ8) -->
  <div class="col-md-4 col-xs-8">
    <h2>Getting started</h2>
   (中略)
  </div>

  <!-- 2つ目(スマホ4) -->
  <div class="col-md-4 col-xs-4">
    <h2>Get more libraries</h2>
   (中略)
  </div>

  <!-- 3つ目(スマホ12) -->
  <div class="col-md-4 col-xs-12">
    <h2>Web Hosting</h2>
   (中略)
  </div>

</div>

 デザインは小さいサイズから順に適用されます。そのため、xs(スマホ)サイズで適用したデザインはsm(タブレット)サイズにも適用されます。この例では、幅が992pxを超えたときに、md(PC)サイズのレイアウトが有効になります。

グリッドの高度な制御(並び順の変更と場所の移動)

 Bootstrapのグリッドシステムでは、「col-md-pull-数字」「col-md-push-数字」「col-md-offset-数字」を指定して、カラムの場所を移動したり並び順を変えたりすることもできます。

レイアウトの場所を移動(index.cshtml)
<!-- 行の指定 -->
<div class="row">

  <!-- 1つ目(右に4つ移動) -->
  <div class="col-md-4 col-md-push-4">
    <h2>Getting started</h2>
   (中略)
  </div>

  <!-- 2つ目(左に4つ移動) -->
  <div class="col-md-4 col-md-pull-4">
    <h2>Get more libraries</h2>
   (中略)
  </div>

  <!-- 3つ目(左に2つ分の隙間) -->
  <div class="col-md-2 col-md-offset-2">
    <h2>Web Hosting</h2>
   (中略)
  </div>

</div>
ボックスの並び順と場所を変更
ボックスの並び順と場所を変更

 「col-md-pull-数字」はその領域を前方に移動(rightプロパティを適用)させ、「col-md-push-数字」はその領域を後方(leftプロパティを適用)に移動させます。ここでは、タグの記述順とは逆になるように1つ目のボックスと2つ目のボックスの順序を入れ替えています。「col-md-offset-数字」は、左側に隙間を入れてボックスを右に寄せる(margin-leftプロパティを適用)ことができます。もちろん、md以外のxs/sm/lbを指定してデバイス別に設定することもできます。

次のページ
ナビゲーション

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ASP.NET MVC5+Bootstrapでレスポンシブでリッチなサイトを構築連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 青木 淳夫(アオキ アツオ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7802 2014/06/26 19:37

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング