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中发生的事情?
谢谢 - 非常感谢。
答案 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;
}