具有名称/值列的jQuery移动表重排

时间:2015-02-18 05:04:02

标签: jquery-mobile html-table reflow

jQuery移动表重排适用于使用THEAD的表。但是对于具有名称/值列的表,例如,没有THEAD

的4列
Name:   John                ID:     00002
Age:    22                  Date:   2015-2-3

如何使其响应?喜欢以下智能手机

Name:   John                
ID:     00002
Age:    22                  
Date:  2015-2-3

Name:   
John                
ID:     
00002
Age:    
22                  
Date:  
2015-2-3

1 个答案:

答案 0 :(得分:0)

你想要的是响应式网格而不是表格。您可以使用jQM列表视图和一些CSS媒体查询来更改不同设备宽度的布局。

标记将沿着这些方向:

<ul data-role="listview" data-inset="true">
    <li>
        <div class="ui-grid-a">
            <div class="ui-block-a">Name:</div>
            <div class="ui-block-b">John</div>
        </div>
    </li>
    <li>
        <div class="ui-grid-a">
            <div class="ui-block-a">ID:</div>
            <div class="ui-block-b">00002</div>
        </div>
    </li>
    <li>
        <div class="ui-grid-a">
            <div class="ui-block-a">Age:</div>
            <div class="ui-block-b">22</div>
        </div>
    </li>
    <li>
        <div class="ui-grid-a">
            <div class="ui-block-a">Date:</div>
            <div class="ui-block-b">2015/2/3</div>
        </div>
    </li>
</ul>

然后使用CSS使列表项在不同的断点处浮动:

html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
*, *:before, *:after {
  box-sizing: inherit;
}

.my-page .ui-listview li .ui-block-a{
    color: #999;
}
.my-page .ui-listview li .ui-block-b{
    color: #111;
}

/* First breakpoint is 48em (768px). 2 column layout.  */
 @media (min-width: 48em) {
    .my-page .ui-listview li {
        float: left;
        width: 50%;
        margin: 0;
        border-radius: 0;
        border: rgb(221, 221, 221) solid 1px;
    }
}
/* Second breakpoint is 63.75em (1020px). 4 column layout.  */
 @media (min-width: 63.75em) {
    .my-page .ui-listview li {
        width: 25%;
    }
}
  

这是 DEMO ,包含3个断点

显然你应该调整断点以适应你的内容......