はじめに
Bootstrap 3を試してみるシリーズの第8弾は、モーダルダイアログの表示を行うModalsを試してみます。
2013年12月30日 19時21分
Bootstrap 3を試してみるシリーズの第8弾は、モーダルダイアログの表示を行うModalsを試してみます。
作業の前提条件は、下記のとおりです。
ソフトウエア | バージョン |
---|---|
OS | Windows 7 Ultimate 32bit |
Cygwin | Setup Version 2.831 |
お約束のbootstrap.min.[cs,js] + jquery-1.10.2.min.jsを 指定して、HTMLを作成します。
モーダルダイアログは、ボタンをクリックすると表示されるため、呼び出し元のボタンを作成します。
作成時に指定する属性は、下記のとおりです。
属性 | 概要 |
---|---|
data-toggle | modalを指定します。 |
data-target | ボタンに紐付くダイアログのIDを指定します。 |
<button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#modal1" >View Source </button>
modalクラスを使用して、ダイアログを定義します。定義の際には、先に作成したIDを指定する必要があります。
<div id="modal1" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> </div><!-- modal-header --> <div class="modal-body"> </div><!-- model-body --> <div class="modal-footer"> </div><!-- model-footer --> </div><!-- modal-content --> </div><!-- modal-dialog --> </div><!-- modal -->
モーダルダイアログは、以下の4つのクラスから構成されます。
クラス名 | 概要 |
---|---|
modal-content | mode-header/model-body/modal-footerから構成されます。 |
modal-header | ダイアログのヘッダーやボタンを定義します。 |
modal-body | ダイアログに表示するコンテンツを定義します。 |
modal-footer | ダイアログのフッターやボタンを定義します。 |
ダイアログに表示するボタンやダイアログのタイトルを作成します。
<div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">× </button> <h4 class="modal-title">Modal Dialog</h4> </div>
ダイアログに表示するコンテンツを作成します。
<div class="modal-body"> <pre class="brush:html;" title="View Source"> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> <link href="bootstrap.min.css" rel="stylesheet"> </head> </pre> </div>
フッターの作成は、必須ではありませんが、フッターにクローズボタンを配置することで、ダイアログをクローズボタンで閉じることができます。
<div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div><!-- modal-footer -->
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <!--[if IE]> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <![endif]--> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>030</title> <link href="bootstrap.min.css" rel="stylesheet"> <link href="syntaxhighlighter/styles/shCore.css" rel="stylesheet"> <link href="syntaxhighlighter/styles/shThemeEmacs.css" rel="stylesheet"> <style> body { margin-top: 80px; } </style> </head> <body> <div class="navbar navbar-default navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"></div> <div class="navbar-collapse collapse"></div> </div> </div> <div class="container"> <div class="row"> <div class="col-xs-3 col-sm-3 col-md-3"></div> <!-- メインコンテンツ --> <div class="col-xs-6 col-sm-6 col-md-6"> <div class="container-fluid"> <h4>Syntax Highlighter</h4> <pre class="brush:html; collapse:true;" title="View Source"> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> <link href="bootstrap.min.css" rel="stylesheet"> <link href="syntaxhighlighter/styles/shThemeEmacs.css" rel="stylesheet"> </head> </pre> <h4>Modal Dialog</h4> <button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#modal1">View Source </button> <div id="modal1" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">× </button> <h4 class="modal-title">Modal Dialog</h4> </div> <div class="modal-body"> <pre class="brush:html;" title="View Source"> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> <link href="bootstrap.min.css" rel="stylesheet"> </head> </pre> </div><!-- model-body --> </div><!-- modal-content --> </div><!-- modal-dialog --> </div><!-- modal --> <h4>Modal Dialog with Close</h4> <button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#modal2">View Source </button> <div id="modal2" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">× </button> <h4 class="modal-title">Modal Dialog</h4> </div> <div class="modal-body"> <pre class="brush:html;" title="View Source"> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> <link href="bootstrap.min.css" rel="stylesheet"> </head> </pre> </div><!-- model-body --> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div><!-- modal-footer --> </div><!-- modal-content --> </div><!-- modal-dialog --> </div><!-- modal --> </div><!-- container-fluid --> </div><!-- col-6 --> <div class="col-xs-3 col-sm-3 col-md-3"></div> </div><!-- row --> </div><!-- container --> <script src="jquery-1.10.2.min.js"></script> <script src="bootstrap.min.js"></script> <script src="syntaxhighlighter/scripts/shCore.js"></script> <script src="syntaxhighlighter/scripts/shBrushAppleScript.js"></script> <script src="syntaxhighlighter/scripts/shBrushAS3.js"></script> <script src="syntaxhighlighter/scripts/shBrushBash.js"></script> <script src="syntaxhighlighter/scripts/shBrushColdFusion.js"></script> <script src="syntaxhighlighter/scripts/shBrushCpp.js"></script> <script src="syntaxhighlighter/scripts/shBrushCSharp.js"></script> <script src="syntaxhighlighter/scripts/shBrushCss.js"></script> <script src="syntaxhighlighter/scripts/shBrushDelphi.js"></script> <script src="syntaxhighlighter/scripts/shBrushDiff.js"></script> <script src="syntaxhighlighter/scripts/shBrushErlang.js"></script> <script src="syntaxhighlighter/scripts/shBrushGroovy.js"></script> <script src="syntaxhighlighter/scripts/shBrushJava.js"></script> <script src="syntaxhighlighter/scripts/shBrushJavaFX.js"></script> <script src="syntaxhighlighter/scripts/shBrushJScript.js"></script> <script src="syntaxhighlighter/scripts/shBrushPerl.js"></script> <script src="syntaxhighlighter/scripts/shBrushPhp.js"></script> <script src="syntaxhighlighter/scripts/shBrushPlain.js"></script> <script src="syntaxhighlighter/scripts/shBrushPowerShell.js"></script> <script src="syntaxhighlighter/scripts/shBrushPython.js"></script> <script src="syntaxhighlighter/scripts/shBrushRuby.js"></script> <script src="syntaxhighlighter/scripts/shBrushSass.js"></script> <script src="syntaxhighlighter/scripts/shBrushScala.js"></script> <script src="syntaxhighlighter/scripts/shBrushSql.js"></script> <script src="syntaxhighlighter/scripts/shBrushVb.js"></script> <script src="syntaxhighlighter/scripts/shBrushXml.js"></script> <script type='text/javascript'>SyntaxHighlighter.all();</script> </body> </html>