テーマとは、統一化された各ウィジェットの外観などのデザインの事で、それぞれに名前がついています。同じ画面に表示される別々のウィジェットに対して同じ名前のテーマを設定して表示すると、画面全体のデザインに統一感がでます。
テーマの種類
jQueryMobileでは、a,b,c,d,eというテーマが設定されていて、、それぞれのテーマ別のCSSが用意されています。
ページ、ダイアログ、ポップアップのデフォルトのテーマって?
ページのデフォルトのテーマは以下のようになっています。
・ページ c
・ヘッダ、フッタ a
テーマの優先順位
1.ウィジェット自身の設定
2.ウィジェットを組み込んだページなどの別のウィジェットの設定
3.デフォルトの設定
テーマの設定には優先順位があり、1番優先されるのは、ウィジェット自身の設定です。2番目がウィジェットを組み込んだページなどの別のウィジェットの設定で、1番目。、2番目の設定がないときは、jQueryMobileのデフォルトの設定が適用されています。
例えば、ダイアログ内にボタンが配置されているときに、ボタンに直接設定したテーマで実際の画面表示が行われます。これが省かれているとダイアログのテーマで設定されます。
これも省いているとデフォルトの設定でダイアログが表示されます。
それと、ダイアログ内のヘッダのテーマが省略されているときは、デフォルトのヘッダのテーマが適用されます。
テーマの設定方法
テーマはdata-theme属性で設定します。aというテーマに設定したいときは、ウィジェットのタグにdata-theme="a"を追加します。ダイアログとポップアップには、背景のテーマを設定するdata-overlay-theme属性というのもあります。
サンプルコードの実行結果はこちら
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<!DOCTYPE html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>jqueryMobile テーマを設定する</title> <link rel="stylesheet" href="../js/jquery.mobile-1.4.5.css"> <script src="../js/jquery-1.11.3.js"></script> <script src="../js/jquery.mobile-1.4.5.js"></script> </head> <body> <section id="page1" data-role="page" data-theme="a"> <header data-role="header"> <h4>ヘッダ</h4> </header> <article data-role="content"> <p><a href="#dialog1">ダイアログを表示</a></p> <p><a href="#popup1" data-rel="popup" data-theme="a" data-overlay-theme="d" >ポップアップ</a></p> </article> <footer data-role="footer"> <h4>フッタ</h4> </footer> <div data-role="popup" id="popup1" data-theme="a" data-overlay-theme="d"> <header data-role="header"> <h4>ポップアップ</h4> </header> <article data-role="content"><p>ポップアップテスト</p></article> </div> </section> <section data-role="dialog" id="dialog1" data-close-btn-text="閉じる" data-theme="a" data-overlay-theme="d"> <header data-role="header"> <h4>ダイアログ表示</h4> </header> <article data-role="content"><p>ダイアログテスト</p></article> </section> </body> </html> |