jQueryモバイルグリッド
jQuery Mobile グリッド レイアウト
jQuery Mobile は、CSS ベースの列レイアウトのセットを提供します。ただし、モバイル デバイスでは、携帯電話の画面幅が狭いため、通常は列レイアウトを使用することはお勧めできません。
しかし、ボタンやナビゲーション ラベルなどの小さな要素を表のように並べて配置したい場合もあります。この場合、列レイアウトを使用することをお勧めします。
グリッド内の列は同じ幅 (合計 100%) で、境界線、背景、マージン、パディングはありません。
使用可能なレイアウト グリッドは 4 つあります:
グリッド クラス | 列 | 列幅 | 対応する | インスタンス |
---|---|---|---|---|
ui-grid-solo | 1 | 100% | uiブロック-a | 試してみる |
ui-grid-a | 2 | 50% / 50% | ui-block-a|b | 試してみる |
ui-grid -b | 3 | 33% / 33% / 33% | ui-block-a|b|c | 試してみる |
ui-grid-c | 4 | 25% / 25% / 25% / 25% | ui-block-a|b|c|d | 試してみる |
ui-grid-d | 5 | 20% / 20% / 20% / 20% / 20% | ui -block-a|b|c|d|e | 試してみましょう |
列コンテナでは、子要素が所有するクラスは ui-block-a|b| c です。 |d|e は列の数によって異なります。列は並んで浮き上がります。
例 1: クラスは ui-grid-a (2 列レイアウト)、ui-block-a と ui-block-b の 2 つの子要素を指定する必要があります。 例 2: クラスが ui-grid-b (3 列レイアウト) の場合、ui-block-a、ui-block-b、ui-block-c の 3 つのサブ要素を追加する必要があります。 |
カスタムグリッド
CSSを使用すると、列ブロックをカスタマイズできます:
インスタンス
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> <style> .ui-block-a, .ui-block-b, .ui-block-c { background-color: lightgray; border: 1px solid black; height: 100px; font-weight: bold; text-align: center; padding: 30px; } </style> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1>自定义列</h1> </div> <div data-role="main" class="ui-content"> <p>三列样式布局:</p> <div class="ui-grid-b"> <div class="ui-block-a"><span>第一个列</span></div> <div class="ui-block-b"><span>第二个列</span></div> <div class="ui-block-c"><span>第三个列</span></div> </div> </div> </div> </body> </html>
インスタンスの実行»
「インスタンスの実行」ボタンをクリックしてオンラインインスタンスを表示します
カスタマイズすることもできますインライン スタイルを使用したブロック:
<div class="ui-block-a" style="border: 1px solid black;"><span>Text..</span></div>
複数の行
1 つの列内に複数の行を含めることも可能です。
注: ui-block-a-class は常に新しい行を作成します:
Instance
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1>多行</h1> </div> <div data-role="main" class="ui-content"> <p>三列布局:</p> <div class="ui-grid-b"> <div class="ui-block-a" style="border:1px solid black;"><span>一些文本</span></div> <div class="ui-block-b" style="border:1px solid black;"><span>一些文本</span></div> <div class="ui-block-c" style="border:1px solid black;"><span>一些文本</span></div> </div> <p>多行的三列布局:</p> <div class="ui-grid-b"> <div class="ui-block-a" style="border:1px solid black;"><span>一些文本</span></div> <div class="ui-block-b" style="border:1px solid black;"><span>一些文本</span></div> <div class="ui-block-c" style="border:1px solid black;"><span>一些文本</span></div> <div class="ui-block-a" style="border:1px solid black;"><span>一些文本</span></div> <div class="ui-block-b" style="border:1px solid black;"><span>一些文本</span></div> <div class="ui-block-a" style="border:1px solid black;"><span>一些文本</span></div> </div> </div> </div> </body> </html>
Run Instance»
オンライン インスタンスを表示するには、[Run Instance] ボタンをクリックします
レスポンシブグリッド
小さな画面では、1 行にあまりにも多くのボタンを並べることはお勧めできません (テキストが短くなります)。
コンテナ内の ui 応答クラスを使用して、応答グリッドを作成します:
インスタンス
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.css"> <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script> <script src="http://apps.bdimg.com/libs/jquerymobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1>响应式布局</h1> </div> <div data-role="main" class="ui-content"> <h3>慢慢重置窗口大小。布局会根据浏览器的宽度变化自适应大小。</h3> <div class="ui-grid-b ui-responsive"> <div class="ui-block-a"> <a href="#" class="ui-btn ui-corner-all ui-shadow">第一列按钮</a><br> <span>第一列: 这是一些文本。 这是一些文本。 这是一些文本。 这是一些文本。 这是一些文本。</span> </div> <div class="ui-block-b"> <a href="#" class="ui-btn ui-corner-all ui-shadow">第二列按钮</a><br> <span>第二列: 这是一些文本。 这是一些文本。 这是一些文本。 这是一些文本。</span> </div> <div class="ui-block-c"> <a href="#" class="ui-btn ui-corner-all ui-shadow">第三列按钮</a><br> <span>第三列: 这是一些文本。 这是一些文本。 这是一些文本。 这是一些文本。</span> </div> </div> </div> </div> </body> </html>
インスタンスの実行 »
オンライン インスタンスを表示するには、[インスタンスの実行] ボタンをクリックします