Почему отрицательные поля не работают в IE 7? - PullRequest
4 голосов
/ 04 апреля 2011

Я объявил отрицательное поле для ссылки, но в IE 7 оно не работает.

Ответы [ 3 ]

8 голосов
/ 05 апреля 2011

{position: relative;} может потребоваться, как уже отмечалось, но у вас может быть другая проблема:

В общем, IE7 не будет рисовать часть элемента, которая выступает за пределы его родительского контейнера, если отрицательные поля - это метод, используемый для вытягивания элемента таким образом (хотя он будет учитывать другие средства воздействия на выступ, например {overflow: visible}).

Это ошибка, связанная с hasLayout, IE, и подробное описание ее можно найти в " Имеет формат: Ошибка отрицательного поля .

Как указано в приведенных выше ссылочных примечаниях, существуют способы заставить IE7 закрасить часть элемента с отрицательными полями, которая выступает за пределы его родительского элемента, но это предполагает "... не использовать какие-либо свойства, которые дают расположение элемента «. и это потенциально ограничивает другие методы проектирования, которые вы хотели бы использовать, и имеет другие побочные эффекты (опять же, см. цитируемую ссылку).

Но чтобы ответить на ваш вопрос: для обхода проблемы посмотрите список свойств, которые вызывают «hasLayout» в Get Me Layout! Пожалуйста! , (как положение, высота и ширина - yikes!) И убедитесь, что ни один из них не применяется к вашему контейнеру.

1 голос
/ 03 июня 2012

Убедитесь, что вы установили правильный Doctype. Режим Quirks не допускает отрицательных полей.

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

Установить положение: относительное; Это хорошее руководство по использованию отрицательных полей http://www.smashingmagazine.com/2009/07/27/the-definitive-guide-to-using-negative-margins/

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