我处于需要使用table
的情况,但我也希望它响应。
对于某些点under max-width: 500px
,我想将第三个<td>
元素转换为第二行100% width
,其他元素转换为50% width
。
我知道display: block
上的<td>
可以将它们放在彼此之下,我最终会做的事情。但我希望介于两者之间。
table {
height: 400px;
width: 100%;
}
table tr td:nth-child(1) {
background-color: red;
}
table tr td:nth-child(2) {
background-color: green;
}
table tr td:nth-child(3) {
background-color: blue;
}
@media screen and (max-width: 500px) {
table tr td:nth-child(3) {
background-color: pink;
clear: both;
display: block;
width: 100%;
}
table tr td:nth-child(1), table tr td:nth-child(2) {
display: block;
width: 50%;
}
}
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
我已尝试过不同的display
变体,例如inline-block
。
这是可能吗?最好没有JS?
答案 0 :(得分:5)
如果您处理单元格周围的空白以使两个50%宽度的元素适合,则内联块有效:
table {
...
border-spacing: collapse;
}
td {
padding: 0;
}
<强> Demo 强>
请注意,我已从第三个单元格中删除了一些不必要的样式。