IE7和表格中的表格(表格内的表格仅在IE7中造成额外的换行符)

时间:2011-02-20 21:05:12

标签: ruby-on-rails

Rails 2.3.5(内部工作服务器 - 内部应用程序停留在此版本)

我工作的公司“标准”浏览器是IE浏览器,大约70%的用户使用IE7。

我慢慢学习的内容(仅限IE7)是如果你在TR或TD中有FORM开头或结尾标签,IE7会创建额外的行,有时做很奇怪的事情。到目前为止,我的解决方案是将FORM开头和结束标记放在TABLE标记之外。

然后,因为我想要在表之间进行单行换行...如果我在IE7中的表之后使用一个
标签,我将在表之间得到3个空白行,其中每个其他浏览器中只有一个单行。

现在我正在处理一个简单的用户表列表,每个行都有一个表单(删除或更改访问级别)。用这个玩A LOT后,当我将FORM和FORM END标签放在表格标签之间时,IE7最少搞乱:

<table class="table_standard_blue">
  <tr>
    <td>
      FOO
    </td>
  </tr>
  <% users.each do |user| %>
    <% form_for(user) do |f| %>
      <tr>
        <td>
            SOME SELECT / SOME BUTTON
      </td>
      </tr>
    <% end %>
  <% end %>
</table>

虽然表格的“胆量”看起来很好,但这个问题基本上就是表格上方和下方的额外换行符(仅限IE7)。如果我有这样的几个表,效果会放大,看起来表格之间有两个空行(在IE8 / Firefox中),没有空白行。

我知道有一些关于RAILS在FORM标签中添加额外空格(并且假设在RAILS 3中有一些修复 - 我当然不能在工作中使用它)。有谁知道如何修复或隐藏IE7中发生的事情?

谢谢 - 非常感谢。

3 个答案:

答案 0 :(得分:0)

我不确定你是否允许在tr元素周围放置表单标签,但要回答你的问题:

使用CSS减少表格的margin-top和margin-bottom。不过,在此之前,您使用的是正确的DOCTYPE声明吗?重要的是确保IE7不会回退到模拟IE6或其他东西的布局怪癖。

答案 1 :(得分:0)

在您尝试Satya建议您尝试将表单包装成span-tag之前;不确定它是否适用于此但值得一试。

答案 2 :(得分:0)

感谢您的帮助。 Span标签根本没有任何影响。此外,我经历了多种文档类型,但没有任何文档类型。我一直在谷歌搜索,但找到了解决方案。我不是100%肯定,但它似乎是IE7和一般形式的问题(不是RAILS form_for正在做的事情)。将其添加到我的样式表中修复了所有内容:

FORM
{
    display: inline;
}