响应式表格单元格转换为新行

26

我需要通过动态内容“嵌入”第三方内容网站,目前我不知道Ajax或Jquery,所以我想知道是否可以将表格单元格向下移动到新行,从而创建新行。

嵌入的结果为:

<table>
<tr>
<td></td>
<td></td>
</tr>
</table>

页面上的表格没有标记类或ID,但它是页面上唯一的表格,并且包含太多内容而无法在一行中显示。由于这是一个移动网站,所以我需要将整个页面缩小到320像素。

是否可以仅使用CSS实现?

我无法插入新的HTML代码,因为内容是从我们无法访问的安全服务器动态创建的,但我们使用API密钥来访问。但是,可以使用媒体查询。

我目前正在尝试实验以下内容:

td {clear:both;}
2个回答

74
你可以将 td 的属性设置为 display:block;,这样它们就会一个接一个地排列。

HTML

<table>
    <tr>
        <td>1</td>
        <td>2</td>
    </tr>
</table>

CSS(层叠样式表)
td{
    display:block;
}

看这里:http://jsfiddle.net/hDsts/

11
需要注意的是,为了使这项工作正常运行,您必须指定一个文档类型,即 <!DOCTYPE html>。 - William Neely
3
请注意,您需要像上面所示一样将两个“td”都设置为显示块。我曾经忽略了这一点,因此这个提示适用于和我一样的每个人;) 如果您之前修改了它们,请给两个“td”都设置100%的宽度。 - Avatar
如果您将此代码添加到CSS中,它将应用于答案中概述的所有<td>元素。唯一的例外是如果您编写内联样式,这在示例中并未涉及。 - Jarod Thornton

2

display: block; 无效时,另一种解决方案是使用 inline-block

CSS

td {
  display: inline-block;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接