我目前正在重新设计一个网站,但不幸的是我无法编辑任何标记,这导致我遇到以下问题......
我有一张桌子,类似于:
<table>
<tr>
<td>Some content</td>
<td>Some content</td>
</tr>
<tr>
<td>Some content</td>
<td>Some content</td>
</tr>
<tr>
<td>Some content</td>
<td>Some content</td>
</tr>
</table>
我希望在一行显示所有表格单元格。在好的浏览器中,我正在使用:
table tr {
display: inline;
float: left;
}
实现这一目标。但是,这在IE7中不起作用。我可以使用其他任何CSS来达到同样的效果吗?我必须强调,我无法访问任何标记,并且表行或单元格都没有任何方法可以直接访问它们,所以我无法绝对定位。
答案 0 :(得分:0)
我相信你不能这样做。
tr
是一个表行,我希望在尝试浮动时会出现意外情况。
此外,浮动的任何元素都是一个块级元素,因此display: inline
是多余的。
(使用它来防止IE6中出现双边距错误的唯一例外 - 但只有在设置了边距时才会这样做。)
您可以使用JavaScript重构HTML,但我不建议您这样做:)
答案 1 :(得分:0)
我同意@Pekka这是非法的。这里最好的做法是添加小js将表转换成其他东西。如果您可以访问只是 css,您仍然可以通过添加行为为IE执行此操作,如果可以,则可以使用其他浏览器 - 只需使用您的解决方案。
答案 2 :(得分:0)
你可以尝试inline-block
但是使用诸如浮动之类的东西来构造表格元素是一种罪恶。在提取表信息并使用语义标记显示时,您可以尝试隐藏整个表并插入一些加载图标。
在这种情况下,最佳做法是要求访问。只是说如果不访问标记就无法完成工作。如果他们不让你,就不要做你的工作。