早速Bootstrapの始め方を説明していきます。 Bootstrapは最近日本語の公式ドキュメントも充実してきているため、細かい使い方に関しては公式ドキュメントを参照ください。 本記事ではBootstrapを自身のHTMLに反映し、どのようにBootstrapを使っていくのかという導入部分を解説していきます。

Bootstrapの始め方

3年以上前に更新されました。情報が古い可能性があります。
更新日 : 2019年10月30日

早速Bootstrapの始め方を説明していきます。

Bootstrapは最近日本語の公式ドキュメントも充実してきているため、細かい使い方に関しては公式ドキュメントを参照ください。

本記事ではBootstrapを自身のHTMLに反映し、どのようにBootstrapを使っていくのかという導入部分を解説していきます。

インストール

Bootstrapは公式から直接CSSファイルとJavascriptファイルをダウンロードして利用することができます。

他にもNode.jsのパッケージマネージャであるnpmからインストールや、CDN(Content Delivery Network)での利用等も可能です。

今回は導入が簡単なCDNを利用して自身のWEBサイトに導入していこうと思います。

その他インストールの方法についてはBootstrapの公式ドキュメントを読んでみましょう。

スターターテンプレートを利用

Bootstrapの公式に、イントロダクションとしてスターターテンプレートが記載されているので、それを元に始めていきます。

<!doctype html>
<html lang="ja">
  <head>
    <!-- レスポンシブルデザインのためのメタタグ -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- BootstrapCSS本体 -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>

    <!-- オプションとして利用するJavaScript -->
    <!-- jQueryというライブラリが必ず最初, 次にPopper.js, 最後にBootstrap のJavaScriptを読み込むようにする -->
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
  </body>
</html>

この初期テンプレートに関していくつか説明します。

  • <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    スマホやPCで見たときにレスポンシブ対応するために必須のメタタグです。
  • <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" ...>
    Bootstrap本体です。このCSSを読み込まないとデザインは反映されません。
  • <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" ...>
    Bootstrapが依存しているjQueryというJavaScriptライブラリです。動きのあるデザインを適用するために必須になります。使用するBootstrapデザインによっては不要になります。
  • <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" ...
    Bootstrapが依存しているPopperというJavaScriptライブラリです。
    jQueryと同様に使用するBootstrapデザインによっては不要になります。
  • <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"...
    Bootstrapが用意しているJavaScriptファイルです。動きのあるデザインを反映するために必須になります。このBootstrapのJavaScriptファイル内でjQueryやPopperを利用しているので、上記2つのファイル読み込みも必須になります。

上記5つを読み込んでいればBootstrapの全機能を利用可能です。

いくつかの機能を試してみる

実際に使ってみないとどれほど簡単にデザインができるかがわからないので、いくつか機能を試してみましょう。

以下の機能は上記のテンプレートのbodyタグ内に反映してください。

Navbarを試す

WEBサイトのデザインとして、画面上部にメニューが表示されているものをよく見かけるかと思います。

あのような上部にあるメニューをナビゲーションバーと言ったりしますが、Bootstrapでも用意されているため、実際に使ってみましょう。

以下のheaderタグの内容すべてをbodyに貼り付けてHTMLを開いてみましょう。

<header>
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <a class="navbar-brand" href="#">Navbar</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item active">
                    <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link</a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Dropdown
                    </a>
                    <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                        <a class="dropdown-item" href="#">Action</a>
                        <a class="dropdown-item" href="#">Another action</a>
                        <div class="dropdown-divider"></div>
                        <a class="dropdown-item" href="#">Something else here</a>
                    </div>
                </li>
                <li class="nav-item">
                    <a class="nav-link disabled" href="#">Disabled</a>
                </li>
            </ul>
            <form class="form-inline my-2 my-lg-0">
                <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
                <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
            </form>
        </div>
    </nav>
</header>

HTMLをブラウザで開くと以下のように表示されるかと思います。

Navbarのテスト表示
Navbarのテスト表示

このように上記HTMLを貼り付けただけできれいなメニューが完成しました。「Dropdown」をクリックするとドロップダウンメニューまで表示できます。

使用しているタグはnavaなどHTML標準で利用できるもので、特別なことはしていません。

どのようにBootstrapのデザインを反映しているのでしょうか。

HTMLを見ればおわかりかと思いますが、HTMLclass属性が重要になってきます。

例えば今回のナビゲーションバーであれば、navタグを利用し、そのnavタグにnavbar navbar-expand-lg navbar-light bg-lightというようにいくつかのclass属性を当てていきます。これらclass属性やタグのセットがBootstrapのドキュメントどおりに書かれていれば、BootstrapのCSSが書いた内容に沿ってデザインを反映させていきます。

このようにBootstrapのCSS本体を読み込んであげて、あとはドキュメントどおりにclass属性やHTMLタグを書いていくだけCSSを書く必要もなくきれいなデザインのWEBページが完成します。

上記のナビゲーションバーに関しての細かい説明はこちらのドキュメントに記載してあります。

グリッド機能を試す

もう少し便利な機能を見ていきましょう。CSSフレームワークにはだいたいグリッド機能というものがついています。

下記のコードを引き続き先程のテンプレートに貼り付けてみましょう。

<style type="text/css">
    .col {
        background-color: rgba(86,61,124,.15);
        border: 1px solid rgba(86,61,124,.2);
    }
</style>

<div class="container">
    <div class="row">
        <div class="col">
        1 of 2
        </div>
        <div class="col">
        2 of 2
        </div>
    </div>
    <div class="row">
        <div class="col">
        1 of 3
        </div>
        <div class="col">
        2 of 3
        </div>
        <div class="col">
        3 of 3
        </div>
    </div>
</div>

CSSを別で少し書いていますが、グリッド機能を見やすくするためのものです。本来は不要です。

これをブラウザで表示すると以下のように表示されます。

グリッド機能テスト
グリッド機能テスト

表示エリアが分割できているのがわかります。グリッド機能というのは画面を縦に簡単に分割することができる機能です。

よくブログなどであるように、左全体にカテゴリーを表示したり、左右にわけて表示内容を分けたりすることがグリッド機能を利用することで簡単に実現できます。

さらにこのグリッド機能は特定のclass属性を適切に書くことにより、スマホ版とPC版でグリッド数(横幅)などの調整も可能です。

グリッド機能についてさらに詳しく知りたい場合にはグリッド機能のドキュメントを読むだけで十分理解できるでしょう。

アラート機能を試す

最後にアラート機能を試してみましょう。

画面遷移が起こった場合などに、WEBページにちょっとしたメッセージやアラートを表示したいことがあります。そんなときに使えるのがアラート機能です。

以下のコードを貼り付けて表示してみましょう。

<div class="container">
    <div class="alert alert-primary" role="alert">
        A simple primary alert—check it out!
    </div>
    <div class="alert alert-secondary" role="alert">
        A simple secondary alert—check it out!
    </div>
    <div class="alert alert-success" role="alert">
        A simple success alert—check it out!
    </div>
    <div class="alert alert-danger" role="alert">
        A simple danger alert—check it out!
    </div>
    <div class="alert alert-warning" role="alert">
        A simple warning alert—check it out!
    </div>
    <div class="alert alert-info" role="alert">
        A simple info alert—check it out!
    </div>
    <div class="alert alert-light" role="alert">
        A simple light alert—check it out!
    </div>
    <div class="alert alert-dark" role="alert">
        A simple dark alert—check it out!
    </div>
</div>

これをブラウザで開くと以下のように表示されます。

アラート機能テスト
アラート機能テスト

色もclass属性を書くだけでそれぞれ印象の違ったデザインのアラートが表示されているのがわかります。

JavaScriptやjQueryを扱える方であれば表示非表示の切り替えなども可能です。

このアラート機能に関してもアラート機能のドキュメントを読めば十分理解できるでしょう。

まとめ

今回はBootstrapの入門として、CDNでのインストールとBootstrapのいくつかの機能を試してみました。

Bootstrapの公式ドキュメントは日本語も用意され、表示例とコード例のどちらも載っていることが多いので、読みながら実装していけば十分キレイなデザインが反映できるかと思います。