SHOEISHA iD

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

連載記事

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

CodeZine BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。

書籍に関する記事を見る

'); googletag.cmd.push(function() { googletag.pubads().addEventListener('slotRenderEnded', function(e) { var ad_id = e.slot.getSlotElementId(); if (ad_id == 'div-gpt-ad-1659428980688-0') { var ad = $('#'+ad_id).find('iframe'); if ($(ad).width() == 728) { var ww = $(window).width(); ww = ww*0.90; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/728+","+ww/728+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/728+","+ww/728+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/728+","+ww/728+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/728+","+ww/728+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(90*ww/728)+"px;width:"+728+"px;}", 0 ); } else { if ($(window).width() < 340) { var ww = $(window).width(); ww = ww*0.875; var style = document.createElement("style"); document.head.appendChild( style ); var sheet = style.sheet; sheet.insertRule( "#div-gpt-ad-1659428980688-0 iframe {-moz-transform: scale("+ww/320+","+ww/320+");-moz-transform-origin: 0 0;-webkit-transform: scale("+ww/320+","+ww/320+");-webkit-transform-origin: 0 0;-o-transform: scale("+ww/320+","+ww/320+");-o-transform-origin: 0 0;-ms-transform: scale("+ww/320+","+ww/320+");-ms-transform-origin: 0 0;}", 0 ); sheet.insertRule( "#div-gpt-ad-1659428980688-0 div{ height:"+(180*ww/320)+"px;width:"+320+"px;}", 0 ); } } } }); }); } else { document.write('
'); document.write('
'); }
業務Webアプリケーションエンジニアのための「Bootstrap」入門

Bootstrapで業務Webアプリのカッコいい入力フォームを作る

業務Webアプリケーションエンジニアのための「Bootstrap」入門 第2回

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

 本連載では、サーバーサイドJavaやPHPを使って業務アプリケーション開発を行う若手エンジニアのために、「Bootstrap」を使ってカッコいい画面を作成する方法をご紹介します。前回は、CSSフレームワークであるBootstrapの概要についてご紹介しました。また、WebアプリでさまざまなUIコントロールを配置するためのグリッドシステムについて説明しました。今回は、業務アプリケーションに欠かせない、データ登録画面や一覧表示画面など使う入力フォームやボタン/テーブルなどのUIコントロールについて説明します。

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

対象読者

 本記事は、次の方を対象にしています。

  • HTML5/CSS/JavaScriptを使ってWebアプリケーションの画面作成ができる方
  • デザインに自信のない方

ボタン

 Webアプリでは、さまざまな処理を行うのでUIとしてボタンを配置しますが、このボタンの押しやすさや分かりやすさは、アプリの操作性に大きくかかわってきます。ここでは、Bootstrapのボタンを利用する方法について説明します。

スタイル

 Bootstrapのボタンはbutton要素/a要素/input要素のclass属性に"btn"を指定すると、スタイル指定ができます。

リスト1 ボタンの指定(button.htmlの抜粋)
<button type="button" class="btn btn-default">button要素</button>
<a href="#" class="btn btn-default">a要素</a>
<input type="button" class="btn btn-default" value="input要素">
ボタンの表示例
ボタンの表示例

 警告や注意などボタンの用途によって、デザインを変えるには、class属性に以下の属性を指定します。class属性は複数の値を指定できます。複数の値を指定するときは、値をスペースで区切ります。

ボタンのスタイル
用途 class属性の指定 色
デフォルト btn-default 白
主要 btn-primary 青
成功 btn-success" 緑
情報 btn-info 水色
注意 btn-warning オレンジ
警告 btn-danger 赤
リンク btn-link ―
リスト2 ボタンのスタイル指定(button.htmlの抜粋)
<button type="button" class="btn btn-default">Default</button>
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-link">Link</button>
ボタンスタイルの例
ボタンスタイルの例

サイズ

 ボタンのサイズを指定するには、class属性にボタンサイズを指定します。指定できるサイズは次のとおりです。

ボタンのサイズ
サイズ class属性の指定
大きい btn-lg
デフォルト なし
小さい btn-sm
とても小さい btn-xs
リスト3 ボタンのサイズ指定(button.htmlの抜粋)
<button type="button" class="btn btn-lg">大きなボタン</button>
<button type="button" class="btn">デフォルトボタン</button>
<button type="button" class="btn btn-sm">小さいボタン</button>
<button type="button" class="btn btn-xs">とても小さいボタン</button>
ボタンサイズの例
ボタンサイズの例

 サイズを固定するには、class属性に"btn-block"を指定します。サイズは、親コントロールの幅に応じて設定されます。

リスト4 ボタン幅の固定(index.htmlの抜粋)
<button type="button" class="btn btn-block">サイズ指定</button>
<hr />
<div class="row">
    <div class="col-xs-8">
<button type="button" class="btn btn-block">ボタン1</button></div>
    <div class="col-xs-4">
<button type="button" class="btn btn-block">ボタン2</button></div>
</div>
ボタン幅固定の例
ボタン幅固定の例

有効化/無効化

 ボタンを選択できる状態(有効化)にするには、class属性に"active"を指定します。また、ボタンを選択できない状態(無効化)にするには、disabled属性を指定します。無効化すると、ボタンの表示色が淡い色に変わります。

リスト5 ボタンの有効化/無効化(button.htmlの抜粋)
<button type="button" class="btn active">有効なボタン</button>
<button type="button" class="btn" disabled="disabled">無効なボタン</button>
ボタンの有効化/無効化の例
ボタンの有効化/無効化の例

グループ化

 関連するボタンをまとめてグループするには、class属性に"btn-group"を指定したdiv要素でボタンをまとめます。ボタンの隙間がなくなり、端のボタンのみ角が丸くなります。

リスト6 ボタンのグループ化(button.htmlの抜粋)
<div class="btn-group">
    <button type="button" class="btn btn-danger">Danger</button>
    <button type="button" class="btn btn-primary">Primary</button>
    <button type="button" class="btn btn-success">Success</button>
    <button type="button" class="btn btn-info">Info</button>
</div>
ボタンのグループ化の例
ボタンのグループ化の例

アイコン付ボタン

 アプリの操作に関する説明を文章で表示するより、直感的に分かるアイコンで表示すると分かりやすいボタンが作成できます。ボタンにアイコンを挿入するには、span要素のclass属性に"glyphicon"を指定します。使用できるグリフアイコンの一覧は以下のサイトにあります。

 例えば、ホームアイコンを表示するときは、class属性に"glyphicon-home"を指定します。

リスト7 ボタンのグループ化(button.htmlの抜粋)
<button type="button" class="btn">ホーム
    <span class="glyphicon glyphicon-home"></span>
</button>
<button type="button" class="btn">ダウンロード
    <span class="glyphicon glyphicon-download"></span>
</button>
アイコン付きボタンの例
アイコン付きボタンの例

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

次のページ
入力フォーム

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
業務Webアプリケーションエンジニアのための「Bootstrap」入門連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、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編 」他、著書多数。

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

WINGSプロジェクト 阿佐 志保(アサ シホ)

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7954 2014/08/08 14:00
" ); }

おすすめ

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  1. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  2. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  3. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  4. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  6. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  7. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  8. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  9. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  10. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  6. 6
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  7. 7
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  8. 8
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  9. 9
    Google、社内AIエージェント「Google Agentspace」発表
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に

イベント

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

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

メールバックナンバー

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  1. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  2. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  3. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  4. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」

アクセスランキング

  1. 1
    "けしからん"精神が切り拓く未来──IPA登氏が語る、技術大国・日本が目指す復活戦略
  2. 2
    JavaScriptのWebフレームワーク、「Astro 5.1」リリース
  3. 3
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  4. 4
    Google、社内AIエージェント「Google Agentspace」発表
  5. 5
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  6. 6
    Linuxディストリビューション「Serpent OS」、アルファ版がリリース
  7. 7
    より使いやすくなったPHP 8.4の新機能──クラス定義や言語仕様とデータベース関連の強化ポイント
  8. 8
    中小企業の約6割、外部委託エンジニアの獲得に意欲的も、65.1%が「円滑な業務契約に向けた対策」の必要性を実感
  9. 9
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  10. 10
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  1. 1
    いいエンジニアになるための2つのポイント ──元Google技術者・石原氏が説く「シリコンバレー流ソフトウェア開発術」
  2. 2
    「CUDA」 ~マンガでプログラミング用語解説
  3. 3
    ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介
  4. 4
    デスクトップアプリを開発しよう! 「Rust」と「Tauri 2.0」の基本情報と環境整備の仕方を解説
  5. 5
    アジャイル開発の推進において、必ずしも"すごい人"は必要ない──現場のエンジニアがDevOps推進で実現する組織改革
  6. 6
    2024年12月に開催される注目のITエンジニア向けカンファレンス5選
  7. 7
    日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に
  8. 8
    デスクトップアプリ開発に必要な「Rust」の文法を理解しよう
  9. 9
    Google、社内AIエージェント「Google Agentspace」発表
  10. 10
    管理職の24.1%、今後管理職を「続けたくない」と回答。理由は「責任やストレス」が最多に