jQuery Mobile テーマ

❮ 前章へ 次章へ ❯

jQuery Mobile テーマ

jQuery Mobile には、2つの異なるスタイルテーマ "a" と "b" が用意されています - それぞれ、ボタン、バー、コンテンツ・ブロックなどの色が異なります。

アプリケーションの外観をカスタマイズするには、data-theme属性を使用し、属性に文字を指定します:

<div data-role="page" data-theme="a|b">

説明
a ページコンテンツは、明るい灰色の背景に黒いテキスト
ヘッダとフッタは、灰色の背景に黒いテキスト
ボタンは、明るい灰色の背景に黒いテキスト
アクティブなボタンは、青い背景に白いテキスト
リンクは青いテキスト
入力フィールドは、白い背景に明るい灰色のテキスト(プレースホルダ)または黒いテキスト(値)
Try it
b ページコンテンツは、濃い灰色の背景に白いテキスト
ヘッダとフッタは、濃い灰色の背景に白いテキスト
ボタンは、チャコール(炭色)の背景に白いテキスト
アクティブなボタンは、シアンブルーの背景に白いテキスト
リンクは シアンブルーのテキスト
入力フィールドは、黒い背景にグレーのテキスト(プレースホルダ)または白いテキスト(値)
Try it

class="ui-btn" を持つボタンの場合、 "ui-btn-a|b"クラスを使用して、ボタンのスタイルを灰色(デフォルト)または黒色にします:

<a href="#" class="ui-btn ui-btn-a|b">Button</a>

"a" テーマは、ほとんどの要素に使用し、子要素は、親(またはページ)のテーマを継承します。


ヘッダとフッタのテーマ化

<div data-role="header" data-theme="b"></div>
<div data-role="footer" data-theme="b"></div>
Try it Yourself »

ダイアログのヘッダとフッタのテーマ化

<div data-role="page" data-dialog="true" id="pagetwo">
  <div data-role="header" data-theme="b"></div>
  <div data-role="footer" data-theme="b"></div>
</div>
Try it Yourself »

ボタンのテーマ化

<a href="#" class="ui-btn ui-btn-b">Black Button</a>
Try it Yourself »

アイコンのテーマ化

<a href="#" class="ui-btn ui-btn-b ui-icon-search ui-btn-icon-notext">Search</a>
Try it Yourself »

ポップアップのテーマ化

<div data-role="popup" id="myPopup" data-theme="b">
Try it Yourself »

ヘッダとフッタ内ボタンのテーマ化

<div data-role="header">
  <a href="#" class="ui-btn ui-btn-b">Home</a>
  <h1>Welcome To My Homepage</h1>
  <a href="#" class="ui-btn">Search/a>
</div>

<div data-role="footer">
  <a href="#" class="ui-btn ui-btn-b">Add Me On Facebook</a>
  <a href="#" class="ui-btn">Add Me On Twitter</a>
  <a href="#" class="ui-btn ui-btn-b">Add Me On Instagram</a>
</div>
Try it Yourself »

ナビゲーションバーのテーマ化

<div data-role="footer" data-theme="b">
  <h1>Insert Footer Text Here</h1>
  <div data-role="navbar">
    <ul>
      <li><a href="#" data-icon="home" data-theme="a">Button 1</a></li>
      <li><a href="#" data-icon="arrow-r">Button 2</a></li>
      <li><a href="#" data-icon="arrow-r">Button 3</a></li>
      <li><a href="#" data-icon="search" data-theme="a">Button 4</a></li>
    </ul>
  </div>
</div>
Try it Yourself »

パネルのテーマ化

<div data-role="panel" id="myPanel" data-theme="b">
Try it Yourself »

折畳み可能なボタンとコンテンツのテーマ化

<div data-role="collapsible" data-theme="b" data-content-theme="b">
  <h1>Click me - I'm collapsible!</h1>
  <p>I'm the expanded content.</p>
</div>
Try it Yourself »

リストのテーマ化

<ul data-role="listview" data-theme="b">
  <li><a href="#">List Item</a></li>
  <li><a href="#">List Item</a></li>
  <li data-theme="a"><a href="#">List Item</a></li>
  <li><a href="#">List Item</a></li>
</ul>
Try it Yourself »

分割ボタンのテーマ化

<ul data-role="listview" data-split-theme="b">
Try it Yourself »

折畳み可能なリストのテーマ化

<div data-role="collapsible" data-theme="b" data-content-theme="b">
  <ul data-role="listview">
    <li><a href="#">Agnes</a></li>
  </ul>
</div>
Try it Yourself »

フォームのテーマ化

<label for="name">Full Name:</label>
<input type="text" name="text" id="name" data-theme="b">

<label for="colors">Choose Favorite Color:</label>
<select id="colors" name="colors" data-theme="b">
  <option value="red">Red</option>
  <option value="green">Green</option>
  <option value="blue">Blue</option>
</select>
Try it Yourself »

折畳み可能なフォームのテーマ化

<fieldset data-role="collapsible" data-theme="b" data-content-theme="b">
<legend>Click me - I'm collapsible!</legend>
Try it Yourself »

新しいテーマの追加Add New Themes

jQuery Mobile には、モバイルページに新しいテーマを追加することもできます。

CSSファイルを編集し、新しいテーマを追加または編集します(jQuery Mobile をダウンロードした場合)。 スタイルのブロックをコピーし、文字(c-z)でクラス名を変更し、好きなように色とフォントを調整してください。

HTML 文書にテーマ・クラスを使用して新しいスタイルを追加することもできます。ツールバーには "ui-bar-(a-z)"、 コンテンツには "ui-body-(a-z)"、ページには ui-page-theme-(a-z)" を追加します:

<style>
.ui-bar-f {
    color: red;
    background-color: yellow;
}

.ui-body-f {
    font-weight: bold;
    color: white;
    background-color: purple;
}

.ui-page-theme-f {
    font-weight: bold;
    background-color: green;
}
</style>
Try it Yourself »

jQuery Mobile の前のバージョンでは、親のテーマを要素がどのように継承するかを処理するために JavaScript が使われていました。 1.4 時点で、フレームワークはパフォーマンスの向上にフォーカスし、JavaScript は純粋な CSS に置き換えられています。

jQuery Mobile チームは、独自のカスタムテーマを作成するのに役立つツール ThemeRoller を作成しました。 このツールを使用して古いテーマをアップグレードし、新しいバージョンとの互換性を持たせることもできます。


❮ 前章へ 次章へ ❯