如何创建可折叠网格、table 或列
How to create collapsable grid, table, or columns
我想在 2 列中显示数据。当有足够的空间时,数据应如下所示:
| data | data2 |
| data3 | data4 |
| data5 | data6 |
如果用户在那里调整大小 window 导致没有足够的空间来显示两列,我希望数据看起来像这样:
| data |
| data2 |
| data3 |
| data4 |
| data5 |
| data6 |
如果我猜的话,网上已经有关于此的问题和帖子,但我不知道要搜索什么。非常感谢链接、提示、示例代码和指南!
这样的怎么样?
http://jsfiddle.net/LcsgtaLv/1/
这里的问题是您必须决定 "break" 的大小(table 的大小将开始显示在 2 列上),就像我们在这里所做的那样:
@media screen and (min-width: 700px) {
基本上我们让他们获得 100% 的宽度直到 700px,从那里我们将他们关闭到 49% - 2px(因为有边框,如果没有边框我们只能做 50%) .
希望对您有所帮助。
在此示例中,您可以使用 table(在语义上适合显示表格数据)。在较小的设备上,您可以将单元格的显示布局更改为块状,而不是其初始 table 单元格布局。
您可以在下面查看示例。如果屏幕低于 400px(可以调整),它将变为单列。
这里还有 fiddle:http://jsfiddle.net/vz6nLj8a/1/
.responsive-table td {
display: block;
border: 1px solid;
border-width: 0 1px;
padding: .5em 1em;
}
@media (min-width: 400px) {
.responsive-table td {
display: initial;
border-right-width: 0px;
}
.responsive-table td:last-child {
border-right: 1px solid;
}
}
<table class="responsive-table" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>data1</td>
<td>data2</td>
</tr>
<tr>
<td>data3</td>
<td>data4</td>
</tr>
<tr>
<td>data5</td>
<td>data6</td>
</tr>
</tbody>
</table>
如果不需要支持IE9及以下版本可以使用display: flex
.items {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.item {
flex-basis: 50%;
}
@media only screen and (max-width: 767px) {
.item {
flex-basis: 100%;
}
}
<div class="items">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
</div>
我想在 2 列中显示数据。当有足够的空间时,数据应如下所示:
| data | data2 |
| data3 | data4 |
| data5 | data6 |
如果用户在那里调整大小 window 导致没有足够的空间来显示两列,我希望数据看起来像这样:
| data |
| data2 |
| data3 |
| data4 |
| data5 |
| data6 |
如果我猜的话,网上已经有关于此的问题和帖子,但我不知道要搜索什么。非常感谢链接、提示、示例代码和指南!
这样的怎么样?
http://jsfiddle.net/LcsgtaLv/1/
这里的问题是您必须决定 "break" 的大小(table 的大小将开始显示在 2 列上),就像我们在这里所做的那样:
@media screen and (min-width: 700px) {
基本上我们让他们获得 100% 的宽度直到 700px,从那里我们将他们关闭到 49% - 2px(因为有边框,如果没有边框我们只能做 50%) .
希望对您有所帮助。
在此示例中,您可以使用 table(在语义上适合显示表格数据)。在较小的设备上,您可以将单元格的显示布局更改为块状,而不是其初始 table 单元格布局。
您可以在下面查看示例。如果屏幕低于 400px(可以调整),它将变为单列。
这里还有 fiddle:http://jsfiddle.net/vz6nLj8a/1/
.responsive-table td {
display: block;
border: 1px solid;
border-width: 0 1px;
padding: .5em 1em;
}
@media (min-width: 400px) {
.responsive-table td {
display: initial;
border-right-width: 0px;
}
.responsive-table td:last-child {
border-right: 1px solid;
}
}
<table class="responsive-table" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>data1</td>
<td>data2</td>
</tr>
<tr>
<td>data3</td>
<td>data4</td>
</tr>
<tr>
<td>data5</td>
<td>data6</td>
</tr>
</tbody>
</table>
如果不需要支持IE9及以下版本可以使用display: flex
.items {
display: flex;
flex-flow: row wrap;
width: 100%;
}
.item {
flex-basis: 50%;
}
@media only screen and (max-width: 767px) {
.item {
flex-basis: 100%;
}
}
<div class="items">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
<div class="item">5</div>
<div class="item">6</div>
<div class="item">7</div>
<div class="item">8</div>
</div>