我有一个有两列的桌子,宽300px,在普通电脑屏幕上宽度为600px。
我想为小屏幕移动设备修改该表的显示。
有没有一种CSS方法可以让右列的单元格换行并进入左列的单元格,然后是下一个左侧单元格,然后是右下一个单元格,依此类推?
答案 0 :(得分:6)
这是一个概念验证演示。
考虑下表:
<table>
<tr>
<td>First Row - Cell 1</td>
<td>First Row - Cell 2</td>
</tr>
<tr>
<td>Second Row - Cell 1</td>
<td>Second Row - Cell 2</td>
</tr>
</table>
如果浮动表格单元格,则可以使它们垂直堆叠,例如:
table {
width: auto;
}
table td {
background-color: lightgray;
float: left;
width: 150px;
margin: 10px 0;
}
您需要在媒体查询中调整表格宽度和单元格宽度。
使用浮点数的一个优点是表格在不使用媒体查询的情况下响应,这在某些情况下可能很有用。
答案 1 :(得分:3)
表就像任何其他HTML元素一样。如果您不喜欢它的显示方式,请更改其显示属性。
table, tbody, tr, th, td { display: block }
thead { display: none } /* optional */
重新格式化复杂表格的演示:http://codepen.io/cimmanon/pen/ukBqo
答案 2 :(得分:1)
您需要使用media queries
根据屏幕大小或浏览器宽度更改CSS属性。
要以纵向模式定位iPhone 5,您可以执行以下操作:
@media only screen
and (min-device-width : 320px)
and (max-device-width : 568px)
and (orientation : portrait) {
td {
width: 100%;
display: block;
}
}
要定位更一般的devies数组,您可以使用更通用的查询来捕获更多的屏幕尺寸:
@media only screen
and (max-width : 800px) {
td {
width: 100%;
display: block;
}
}
DEMO(调整浏览器窗口大小)
iPhone / iPad相关媒体查询有一个很好的资源HERE