響應式表格
響應式設計一般用于適配用戶各種移動設備。
我們只需要使用一個簡單的類名,jQuery Mobile 就能根據(jù)屏幕的尺寸自動調(diào)整頁面內(nèi)容。
響應式表格讓頁面內(nèi)容在移動端和桌面設備上能夠很好的適配。
響應式表格有兩種類型: reflow(回流) 與 列切換。
回流表格
回流模型表格在屏幕尺寸足夠大時是水平顯示,而在屏幕尺寸達到足夠小時,所有的數(shù)據(jù)會變成垂直顯示。
創(chuàng)建表格,在 <table> 元素上添加 data-role="table" 和 "ui-responsive" 類:
實例
<!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>回流模型表格在屏幕尺寸足夠大時是水平顯示,而在屏幕尺寸達到足夠小時,所有的數(shù)據(jù)會變成垂直顯示。</p> <p>重置窗口大小查看效果:</p> <table data-role="table" class="ui-responsive"> <thead> <tr> <th>CustomerID</th> <th>CustomerName</th> <th>ContactName</th> <th>Address</th> <th>City</th> <th>PostalCode</th> <th>Country</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> </tr> <tr> <td>2</td> <td>Antonio Moreno Taquer</td> <td>Antonio Moreno</td> <td>Mataderos 2312</td> <td>Mico D.F.</td> <td>05023</td> <td>Mexico</td> </tr> <tr> <td>3</td> <td>Around the Horn</td> <td>Thomas Hardy</td> <td>120 Hanover Sq.</td> <td>London</td> <td>WA1 1DP</td> <td>UK</td> </tr> <tr> <td>4</td> <td>Berglunds snabbk</td> <td>Christina Berglund</td> <td>Berguvsven 8</td> <td>Lule</td> <td>S-958 22</td> <td>Sweden</td> </tr> </tbody> </table> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
![]() |
對于響應式表格,你必須包含 <thead> 和
<tbody> 元素。 不要使用 rowspan 或 colspan 屬性; 響應式表格中是不支持這兩個屬性的。 |
---|
列切換
列切換模型會在寬度不夠時隱藏數(shù)據(jù)。
列切換的表格創(chuàng)建方式如下:
<table data-role="table" data-mode="columntoggle" class="ui-responsive" id="myTable">
默認情況下,jQuery Mobile 會先隱藏表格右側(cè)的列。但是,你可以在表格頭部(<th>)通過添加 data-priority 屬性指定隱藏列的順序,data-priority 的值可以是 1 (最高優(yōu)先級) 到 6 (最低優(yōu)先級):
<th>I will never be hidden</th> <th data-priority="1">我是非常重要的列 - 我不會被隱藏</th> <th data-priority="3">我是重要的列 - 我可能被隱藏</th> <th data-priority="5"我是不怎么重要的列 - 我最先被隱藏</th>
![]() |
如果你沒未列指定優(yōu)先級,則列會一直存在,不會被隱藏。 |
---|
把上面的兩段代碼組合起來即可創(chuàng)建一個列切換的表格,這樣用戶就可以自定義要隱藏表格的哪些列:
實例
<!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>列切換模型會在寬度不夠時隱藏數(shù)據(jù)。</p> <h4>慢慢重置窗口大小。你會發(fā)現(xiàn)表格中的列會根據(jù)窗口的大小自動隱藏列。</h4> <table data-role="table" data-mode="columntoggle" class="ui-responsive" id="myTable"> <thead> <tr> <th data-priority="6">CustomerID</th> <th>CustomerName</th> <th data-priority="1">ContactName</th> <th data-priority="2">Address</th> <th data-priority="3">City</th> <th data-priority="4">PostalCode</th> <th data-priority="5">Country</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> </tr> <tr> <td>2</td> <td>Antonio Moreno Taquer</td> <td>Antonio Moreno</td> <td>Mataderos 2312</td> <td>Mico D.F.</td> <td>05023</td> <td>Mexico</td> </tr> <tr> <td>3</td> <td>Around the Horn</td> <td>Thomas Hardy</td> <td>120 Hanover Sq.</td> <td>London</td> <td>WA1 1DP</td> <td>UK</td> </tr> <tr> <td>4</td> <td>Berglunds snabbk</td> <td>Christina Berglund</td> <td>Berguvsven 8</td> <td>Lule</td> <td>S-958 22</td> <td>Sweden</td> </tr> </tbody> </table> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
我們可以使用 data-column-btn-text 屬性來修改切換表格的文本:
實例
<!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"> <table data-role="table" data-mode="columntoggle" class="ui-responsive" data-column-btn-text="點我顯示或隱藏列!" id="myTable"> <thead> <tr> <th data-priority="6">CustomerID</th> <th>CustomerName</th> <th data-priority="1">ContactName</th> <th data-priority="2">Address</th> <th data-priority="3">City</th> <th data-priority="4">PostalCode</th> <th data-priority="5">Country</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> </tr> <tr> <td>2</td> <td>Antonio Moreno Taquer</td> <td>Antonio Moreno</td> <td>Mataderos 2312</td> <td>Mico D.F.</td> <td>05023</td> <td>Mexico</td> </tr> <tr> <td>3</td> <td>Around the Horn</td> <td>Thomas Hardy</td> <td>120 Hanover Sq.</td> <td>London</td> <td>WA1 1DP</td> <td>UK</td> </tr> <tr> <td>4</td> <td>Berglunds snabbk</td> <td>Christina Berglund</td> <td>Berguvsven 8</td> <td>Lule</td> <td>S-958 22</td> <td>Sweden</td> </tr> </tbody> </table> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
表格樣式
我們使用 "ui-shadow" 類來為表格添加陰影:
實例
<!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"> <table data-role="table" data-mode="columntoggle" class="ui-responsive ui-shadow" id="myTable"> <thead> <tr> <th data-priority="6">CustomerID</th> <th>CustomerName</th> <th data-priority="1">ContactName</th> <th data-priority="2">Address</th> <th data-priority="3">City</th> <th data-priority="4">PostalCode</th> <th data-priority="5">Country</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> </tr> <tr> <td>2</td> <td>Antonio Moreno Taquer</td> <td>Antonio Moreno</td> <td>Mataderos 2312</td> <td>Mico D.F.</td> <td>05023</td> <td>Mexico</td> </tr> <tr> <td>3</td> <td>Around the Horn</td> <td>Thomas Hardy</td> <td>120 Hanover Sq.</td> <td>London</td> <td>WA1 1DP</td> <td>UK</td> </tr> <tr> <td>4</td> <td>Berglunds snabbk</td> <td>Christina Berglund</td> <td>Berguvsven 8</td> <td>Lule</td> <td>S-958 22</td> <td>Sweden</td> </tr> </tbody> </table> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
使用 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> tr { border-bottom: 1px solid lightgray; } </style> </head> <body> <div data-role="page" id="pageone"> <div data-role="header"> <h1>切換表格樣式</h1> </div> <div data-role="main" class="ui-content"> <table data-role="table" data-mode="columntoggle" class="ui-responsive ui-shadow" id="myTable"> <thead> <tr> <th data-priority="6">CustomerID</th> <th>CustomerName</th> <th data-priority="1">ContactName</th> <th data-priority="2">Address</th> <th data-priority="3">City</th> <th data-priority="4">PostalCode</th> <th data-priority="5">Country</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> </tr> <tr> <td>2</td> <td>Antonio Moreno Taquer</td> <td>Antonio Moreno</td> <td>Mataderos 2312</td> <td>Mico D.F.</td> <td>05023</td> <td>Mexico</td> </tr> <tr> <td>3</td> <td>Around the Horn</td> <td>Thomas Hardy</td> <td>120 Hanover Sq.</td> <td>London</td> <td>WA1 1DP</td> <td>UK</td> </tr> <tr> <td>4</td> <td>Berglunds snabbk</td> <td>Christina Berglund</td> <td>Berguvsven 8</td> <td>Lule</td> <td>S-958 22</td> <td>Sweden</td> </tr> </tbody> </table> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例
實例
<!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>回流模型表格在屏幕尺寸足夠大時是水平顯示,而在屏幕尺寸達到足夠小時,所有的數(shù)據(jù)會變成垂直顯示。</p> <p>重置窗口大小查看效果:</p> <table data-role="table" class="ui-responsive"> <thead> <tr> <th>CustomerID</th> <th>CustomerName</th> <th>ContactName</th> <th>Address</th> <th>City</th> <th>PostalCode</th> <th>Country</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Alfreds Futterkiste</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> </tr> <tr> <td>2</td> <td>Antonio Moreno Taquer</td> <td>Antonio Moreno</td> <td>Mataderos 2312</td> <td>Mico D.F.</td> <td>05023</td> <td>Mexico</td> </tr> <tr> <td>3</td> <td>Around the Horn</td> <td>Thomas Hardy</td> <td>120 Hanover Sq.</td> <td>London</td> <td>WA1 1DP</td> <td>UK</td> </tr> <tr> <td>4</td> <td>Berglunds snabbk</td> <td>Christina Berglund</td> <td>Berguvsven 8</td> <td>Lule</td> <td>S-958 22</td> <td>Sweden</td> </tr> </tbody> </table> </div> <div data-role="footer"> <h1>底部文本</h1> </div> </div> </body> </html>
運行實例 ?
點擊 "運行實例" 按鈕查看在線實例