IE7 и формы в таблицах (формы внутри таблиц вызывают дополнительные разрывы строк только в IE7) - PullRequest
0 голосов
/ 21 февраля 2011

Rails 2.3.5 (внутренний рабочий сервер - застрял в этой версии для внутренних приложений)

«Стандартным» браузером компании, в котором я работаю, является IE, и около 70% пользователей используют IE7.

Что я медленно изучал (только для IE7), так это то, что если у вас есть начальные или конечные теги FORM внутри TR или TD, IE7 создаст дополнительные строки, иногда делая очень странные вещи. Мое решение до сих пор состоит в том, чтобы поместить начальные и конечные теги FORM вне тегов TABLE.

Тогда, потому что я хочу один разрыв строки между таблицами ... если я буду использовать тег
после таблиц только в IE7, я получу 3 пустых строки между таблицами, где в любом другом браузере будет просто одна строка.

Прямо сейчас я имею дело с простым списком пользователей таблицы с формой в каждой строке (удалить или изменить уровень доступа). После того, как я поигрался с этим, IE7 испортил наименьшее количество раз, когда я помещаю теги FORM и FORM END между тегами таблицы, например:

<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 голосов
/ 21 февраля 2011

Прежде чем вы попробуете то, что предложил Сатья, вы можете попробовать обернуть форму в тег span;не уверен, работает ли он здесь, но стоит попробовать.

0 голосов
/ 21 февраля 2011

Спасибо за помощь.Теги Span вообще не влияли.Кроме того, я просмотрел несколько типов документов, и ни один из них не требовал никакой разницы.Я продолжил поиск в Google и нашел решение, хотя.Я не уверен на 100%, но, похоже, проблема с IE7 и формами в целом (а не с RAILS form_for).Добавление этого в мою таблицу стилей исправило все:

FORM
{
    display: inline;
}
0 голосов
/ 21 февраля 2011

Я не уверен, что вам разрешено размещать теги форм вокруг элементов tr, но я отвечу на ваш вопрос:

Используйте CSS для уменьшения полей сверху и снизу полей.Однако до этого вы используете правильное объявление DOCTYPE?Важно убедиться, что IE7 не отступает, чтобы эмулировать особенности макета из IE6 или что-то в этом роде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...