<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://organizeseries.com/"
	>

<channel>
	<title>レスポンシブWebデザイン &#8211; HTML5Experts.jp</title>
	<atom:link href="/tag/レスポンシブWebデザイン/feed/" rel="self" type="application/rss+xml" />
	<link>https://html5experts.jp</link>
	<description>日本に、もっとエキスパートを。</description>
	<lastBuildDate>Sat, 07 Jul 2018 03:14:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.19</generator>
	<item>
		<title>Bootstrap3超速レビュー！刷新されたグリッドシステムを理解しよう！</title>
		<link>/shumpei-shiraishi/1538/</link>
		<pubDate>Tue, 20 Aug 2013 12:30:00 +0000</pubDate>
		<dc:creator><![CDATA[白石 俊平]]></dc:creator>
				<category><![CDATA[最新動向]]></category>
		<category><![CDATA[デザイン]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[レスポンシブWebデザイン]]></category>

		<guid isPermaLink="false">/?p=1538</guid>
		<description><![CDATA[人気のCSSフレームワーク「Bootstrap」のバージョン3が正式にリリースされました。この記事では早速Bootstrap3をレビューし、特にグリッドシステムを掘り下げて解説してみます。 フラットデザイン採用、フルレス...]]></description>
				<content:encoded><![CDATA[<p>人気のCSSフレームワーク「<a href="http://getbootstrap.com/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Bootstrap</a>」のバージョン3が正式にリリースされました。この記事では早速Bootstrap3をレビューし、特にグリッドシステムを掘り下げて解説してみます。</p>

<h2>フラットデザイン採用、フルレスポンシブ！</h2>

<p>Bootstrap2からの変更点のリストは、<a href="http://blog.getbootstrap.com/2013/08/19/bootstrap-3-released/" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">公式のリリース文</a>を参照してください。特に大きな変更点は以下のとおりです。</p>

<h4>フラットデザインの採用</h4>

<p>現在流行のフラットデザインを採用しました。ただこれは「流行りに乗った」のではなく、テーマの一つとして提供されているという位置付けのようです。</p>

<p>例えば以下は、Bootstrap3のボタングループです。</p>

<div id="attachment_1539" style="width: 310px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2013/08/buttongroup-3.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/08/buttongroup-3-300x65.png" alt="Bootstrap3でのボタングループ" width="300" height="65" class="size-medium wp-image-1539" srcset="/wp-content/uploads/2013/08/buttongroup-3-300x65.png 300w, /wp-content/uploads/2013/08/buttongroup-3-207x45.png 207w, /wp-content/uploads/2013/08/buttongroup-3.png 364w" sizes="(max-width: 300px) 100vw, 300px" /></a><p class="wp-caption-text">Bootstrap3でのボタングループ</p></div>

<p>Bootstrap2のボタングループと比較すると、確かにフラットデザインを採用していることがわかりますね。</p>

<div id="attachment_1540" style="width: 310px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2013/08/buttongroup-2.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/08/buttongroup-2-300x60.png" alt="Bootstrap2でのボタングループ" width="300" height="60" class="size-medium wp-image-1540" srcset="/wp-content/uploads/2013/08/buttongroup-2-300x60.png 300w, /wp-content/uploads/2013/08/buttongroup-2-207x41.png 207w, /wp-content/uploads/2013/08/buttongroup-2.png 368w" sizes="(max-width: 300px) 100vw, 300px" /></a><p class="wp-caption-text">Bootstrap2でのボタングループ</p></div>

<h4>レスポンシブWebデザインの全面採用</h4>

<p>以前までのBootstrapは、レスポンシブWebデザインへの対応はオプショナルな扱いでした。ですが、Bootstrap3はレスポンシブがデフォルトになり、グリッドシステムや入力フォーム、モーダルダイアログなどの各種コンポーネントが、全てスクリーン幅に応じて最適な見た目に調整されます。</p>

<p>また、モバイルファーストの流儀に従ってCSSが記述されています。すなわち、幅768px以下の小さなスクリーン向けのCSSがデフォルトで、それ以上のスクリーンサイズについてメディアクエリが定義されています。</p>

<h4>IE7とFirefox3.6のサポートが打ち切られた</h4>

<p>Bootstrap3からは、IE7以前とFirefox3.6のサポートが打ち切られました。またIE8では、<a href="https://github.com/scottjehl/Respond" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Respond.js</a>を用いてメディアクエリを有効にしない限り、デスクトップ向けのスタイルが正しく動作しません。</p>

<h2>Bootstrap3のインストール</h2>

<p>では実際に、Bootstrap3を試してみましょう。</p>

<p>Bootstrapを利用するには、まず<a href="https://github.com/twbs/bootstrap" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">GitHubリポジトリ</a>から、<a href="https://github.com/twbs/bootstrap/releases/download/v3.0.0/bootstrap-3.0.0-dist.zip" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">zipファイルをダウンロード</a>します。</p>

<p>zipファイルを展開すると以下の様なファイル構造になっています。この中のCSSとJSを参照するよう、HTMLファイルを記述するだけで、Bootstrapのインストールは完了です。</p>

<pre><code>bootstrap/
├── css/
│   ├── bootstrap.css
│   ├── bootstrap.min.css
│   ├── bootstrap-theme.css
│   ├── bootstrap-theme.min.css
├── js/
│   ├── bootstrap.js
│   ├── bootstrap.min.js
└── fonts/
    ├── glyphicons-halflings-regular.eot
    ├── glyphicons-halflings-regular.svg
    ├── glyphicons-halflings-regular.ttf
    └── glyphicons-halflings-regular.woff
</code></pre>

<p>例えば、以下の様なHTMLテンプレートから始めると良いでしょう（<a href="http://getbootstrap.com/getting-started/#template" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">公式ドキュメント内のテンプレート</a>を多少改変）。このテンプレートでは、IE8以前でもHTML5要素とメディアクエリをサポートするために、<a href="https://github.com/aFarkas/html5shiv" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">HTML5 Shim</a>と<a href="https://github.com/scottjehl/Respond" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">Respond.js</a>を使用しています。</p>

<pre><code>:html:
&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;title&gt;Bootstrap3テンプレート&lt;/title&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;link href="css/bootstrap.min.css" rel="stylesheet" media="screen"&gt;

    &lt;!-- IE8以前でもHTML5要素とメディアクエリをサポートするために、HTML5 shimとRespond.jsを読み込む --&gt;
    &lt;!--[if lt IE 9]&gt;
      &lt;script src="js/html5shiv.js"&gt;&lt;/script&gt;
      &lt;script src="js/respond.min.js"&gt;&lt;/script&gt;
    &lt;![endif]--&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Hello, world&lt;/h1&gt;

    &lt;!-- jQuery (BootstrapのJavaScriptプラグインのために必要) --&gt;
    &lt;script src="//code.jquery.com/jquery.js"&gt;&lt;/script&gt;
    &lt;script src="js/bootstrap.min.js"&gt;&lt;/script&gt;
  &lt;/body&gt;
&lt;/html&gt;
</code></pre>

<h2>新しいグリッドシステムを理解しよう</h2>

<p>Bootstrap3を軽く試してみたところ、以前のバージョンから最も変化していて、少しわかりにくかったのがグリッドシステムでした。ということで本稿の残りの部分では、そのグリッドシステムにフォーカスを当てて説明していきたいと思います。</p>

<p>まず基本的なこととして、グリッドレイアウトとは、画面を論理的にグリッド状（格子状）に分割してレイアウトする手法です。</p>

<p>Bootstrap3の場合、グリッドの列数は<strong>12</strong>に固定されています。そして、<code>col-xs-1</code>, <code>col-xs-2</code>のように「横に占める列数」を名前に含むクラスがBootstrapによって提供されています。これらのクラスをブロック要素に付与していき、要素が占める列数の合計がちょうど12になるようにレイアウトしていきます（12以上になると、次の行に折り返されます）。</p>

<p>文章だけではわかりにくいと思いますので、簡単な例で説明します。グリッドの行を表す<code>row</code>というクラスを持つブロック要素をまず配置し、その中に、列数の合計が12になるようにブロックを配置していきます（列数はクラス名で判別します）。</p>

<pre><code>:html:
&lt;div class="container"&gt;
  &lt;!-- グリッドの一行。列数は合計12 --&gt;
  &lt;div class="row"&gt;
    &lt;!-- この要素が占める列数は8 --&gt;
    &lt;div class="col-md-8"&gt;.col-md-8&lt;/div&gt;
    &lt;!-- この要素が占める列数は4 --&gt;
    &lt;div class="col-md-4"&gt;.col-md-4&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>上記のマークアップをブラウザ上でレンダリングすると、以下の様な表示になります（それぞれのブロックが占める範囲がわかりやすいように枠線を表示しています）。col-md-8が画面の3分の2を、col-md-4が画面の3分の1を占めているのがおわかりでしょう。</p>

<div id="attachment_1541" style="width: 310px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2013/08/sample1-result.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/08/sample1-result-300x11.png" alt="Bootstrap3のグリッドを使用した結果" width="300" height="11" class="size-medium wp-image-1541" srcset="/wp-content/uploads/2013/08/sample1-result-300x11.png 300w, /wp-content/uploads/2013/08/sample1-result-1024x38.png 1024w, /wp-content/uploads/2013/08/sample1-result-207x7.png 207w, /wp-content/uploads/2013/08/sample1-result.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><p class="wp-caption-text">Bootstrap3のグリッドを使用した結果</p></div>

<p>そして、Bootstrap3のグリッドシステムの面白い点は、スクリーンの幅に応じてこのグリッドが自動的に縦方向にスタックされるという点です。上のマークアップを、幅992pxより小さいブラウザウィンドウで見ると、以下のように見えます。</p>

<div id="attachment_1542" style="width: 310px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2013/08/sample1-result2.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/08/sample1-result2-300x21.png" alt="Bootstrap3のグリッドを使用した結果（スクリーン幅が768px以下）" width="300" height="21" class="size-medium wp-image-1542" srcset="/wp-content/uploads/2013/08/sample1-result2-300x21.png 300w, /wp-content/uploads/2013/08/sample1-result2-1024x72.png 1024w, /wp-content/uploads/2013/08/sample1-result2-207x14.png 207w, /wp-content/uploads/2013/08/sample1-result2.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><p class="wp-caption-text">Bootstrap3のグリッドを使用した結果（スクリーン幅が768px以下）</p></div>

<p>このように、スクリーンの幅に応じて自動的にレイアウトが変化するのが、Bootstrap3のグリッドシステムにおける強力な特徴です。</p>

<p>Bootstrap3のグリッドシステムを理解する上で重要なのは、以下の表です。（<a href="http://getbootstrap.com/css/#grid" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">ドキュメント内の表</a>から引用、改変）</p>

<table>
<tr>
  <th></th>
  <th>モバイル（768px以下）</th>
  <th>タブレット（768px以上、992px未満）</th>
  <th>デスクトップ（992px以上、1200px未満）</th>
  <th>デスクトップ（1200px以上）</th>
</tr>
<tr>
  <th>クラスの接頭辞</th>
  <td>.col-xs-</td>
  <td>.col-sm-</td>
  <td>.col-md-</td>
  <td>.col-lg-</td>
</tr>
<tr>
  <th>グリッドの動作</th>
  <td>常に横並び</td>
  <td colspan="3">基本は縦積み、ブレークポイントを超えると横並び</td>
</tr>
<tr>
  <th>コンテナの最大幅</th>
  <td>なし（auto）</td>
  <td>750px</td>
  <td>970px</td>
  <td>1170px</td>
</tr>
<tr>
  <th>列の最大幅</th>
  <td>auto</td>
  <td>60px</td>
  <td>78px</td>
  <td>95px</td>
</tr>
</table>

<p>この表を見ておわかりの通り、スクリーンの幅に応じて、異なる接頭辞を持つクラスが用意されています。例えば<code>col-sm-</code>という接頭辞を持つクラスは、幅768px未満では縦積み、それ以上の場合は横方向に配置されます。上のサンプルでは<code>col-md-</code>というクラスを使用していたため、幅992px前後でレイアウトが変わったというわけです。</p>

<p>そしてこれらのクラスは、複数同時に使うこともできるというのもポイントです。
例えば、「モバイルでは2列ずつ縦積み、タブレットでは3列ずつ縦積み、デスクトップでは横並び」というレイアウトを実現するには、以下の様なマークアップを行います。</p>

<pre><code>:html:
&lt;div class="row"&gt;
  &lt;div class="col-xs-6 col-sm-4 col-md-2"&gt;あ&lt;/div&gt;
  &lt;div class="col-xs-6 col-sm-4 col-md-2"&gt;い&lt;/div&gt;
  &lt;div class="col-xs-6 col-sm-4 col-md-2"&gt;う&lt;/div&gt;
  &lt;div class="col-xs-6 col-sm-4 col-md-2"&gt;え&lt;/div&gt;
  &lt;div class="col-xs-6 col-sm-4 col-md-2"&gt;お&lt;/div&gt;
  &lt;div class="col-xs-6 col-sm-4 col-md-2"&gt;か&lt;/div&gt;
&lt;/div&gt;
</code></pre>

<div id="attachment_1543" style="width: 310px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2013/08/sample2-result1.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/08/sample2-result1-300x48.png" alt="スクリーン幅に応じて列数が変わるサンプル。モバイルでは2列。" width="300" height="48" class="size-medium wp-image-1543" srcset="/wp-content/uploads/2013/08/sample2-result1-300x48.png 300w, /wp-content/uploads/2013/08/sample2-result1-207x32.png 207w, /wp-content/uploads/2013/08/sample2-result1.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><p class="wp-caption-text">スクリーン幅に応じて列数が変わるサンプル。モバイルでは2列。</p></div>

<div id="attachment_1544" style="width: 310px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2013/08/sample2-result2.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/08/sample2-result2-300x20.png" alt="スクリーン幅に応じて列数が変わるサンプル。タブレットでは3列。" width="300" height="20" class="size-medium wp-image-1544" srcset="/wp-content/uploads/2013/08/sample2-result2-300x20.png 300w, /wp-content/uploads/2013/08/sample2-result2-1024x69.png 1024w, /wp-content/uploads/2013/08/sample2-result2-207x13.png 207w, /wp-content/uploads/2013/08/sample2-result2.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><p class="wp-caption-text">スクリーン幅に応じて列数が変わるサンプル。タブレットでは3列。</p></div>

<div id="attachment_1545" style="width: 310px" class="wp-caption aligncenter"><a href="https://html5experts.jp/wp-content/uploads/2013/08/sample2-result3.png" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer"><img src="/wp-content/uploads/2013/08/sample2-result3-300x8.png" alt="スクリーン幅に応じて列数が変わるサンプル。デスクトップでは6列。" width="300" height="8" class="size-medium wp-image-1545" srcset="/wp-content/uploads/2013/08/sample2-result3-300x8.png 300w, /wp-content/uploads/2013/08/sample2-result3-1024x29.png 1024w, /wp-content/uploads/2013/08/sample2-result3-207x5.png 207w, /wp-content/uploads/2013/08/sample2-result3.png 640w" sizes="(max-width: 300px) 100vw, 300px" /></a><p class="wp-caption-text">スクリーン幅に応じて列数が変わるサンプル。デスクトップでは6列。</p></div>

<p>このように、Bootstrap3のグリッドシステムにより、スクリーン幅に応じて動的に変化する柔軟なレイアウトを、とても手軽に実現することができます。</p>

<p>以上が、Bootstrap3のグリッドシステムの基本です。他にもいくつか機能がありますので、詳しく知りたい方は<a href="http://getbootstrap.com/css/#grid" data-wpel-link="external" target="_blank" rel="follow external noopener noreferrer">公式ドキュメント</a>を参照してください。</p>

<h2>まとめ</h2>

<p>レスポンシブWebデザインを前提として生まれ変わったBootstrap3は、洗練されたデザインのWebサイトを手軽に実現できるというだけではなく、その強力なレイアウト機能や利便性の高いコンポーネント、そしてテーマ機能のおかげで、「汎用的で強力な、Webサイト構築フレームワーク」になったという印象を受けました。</p>

<p>完全にレスポンシブなWebサイトを構築するつもりがなくとも、また、Bootstrapのデザインを最終的に採用する予定がなくとも、まずはサイト構築の基盤としてBootstrapを使う…というのも、開発のやり方としてアリなのではないでしょうか。</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
