Ошибка заполнения в iframe в приложении Facebook - PullRequest
6 голосов
/ 13 апреля 2011

Первый пост от Люркера, поэтому, пожалуйста, потерпите меня.

В приложении Facebook моей компании есть форма, которая может содержать сообщения об ошибках с двойным левым отступом. У них есть достаточное количество отступов для выравнивания с входами над ними (которые также получают левый отступ).

(сообщение об ошибке сломано img) http://img687.imageshack.us/img687/2609/windows7x64ie9beta2.png

Когда я выскакиваю эту же страницу из фрейма Facebook, она отображается нормально, с выравниванием элементов формы и сообщений об ошибках.

(Непрерывное сообщение об ошибке img) http://img535.imageshack.us/img535/651/windows7x64ie9beta14.png

Фактический код - это унаследованный (во всех смыслах этого слова) беспорядок, но он работает во всем, включая IE6 и 7, без взломов. Вот все не-reset-стили на этих lis:

clear: none;
font-size: 12px;
margin-bottom: 0;
margin-top: 5px;
overflow: hidden;
padding-left: 160px;

Я подтвердил, что удвоение отступов приводит к неправильному представлению (я могу использовать инструменты IE Developer только в незапутанном представлении, поскольку оно не может обрабатывать iframe).

У кого-нибудь есть идеи? Кроме того, чтобы разорвать этот старый код и начать все сначала?

ОБНОВЛЕНИЕ: похоже, что разрыв старого кода может быть необходимостью. У меня есть несколько UL без детей, которые могут быть причиной поломки.

ОБНОВЛЕНИЕ 2: динамически генерируемый dom - беспорядок, но у инженеров здесь нет времени, чтобы реорганизовать его, поэтому я никогда не получу ответ на этот вопрос. (

Ответы [ 2 ]

1 голос
/ 13 апреля 2011

Возможно, это не идеальное решение, но я бы использовал условие и отдельную таблицу стилей, предназначенную только для IE9, для решения этой проблемы.

Что-то вроде:

    <!--IF[IE 9]-->
      // Include IE9 stylesheet here
<![endif]-->

и в этомтаблица стилей может сделать что-то вроде этого:

clear: none;
font-size: 12px;
margin-bottom: 0;
margin-top: 5px;
overflow: hidden;
padding-left: 80px; /* half the padding */
0 голосов
/ 14 апреля 2011

Вы используете поплавки?Я достиг этого вопроса через похожую проблему.

Проверьте этот ответ: IE 9 CSS Float проблема!

...