{position: relative;}
может потребоваться, как уже отмечалось, но у вас может быть другая проблема:
В общем, IE7 не будет рисовать часть элемента, которая выступает за пределы его родительского контейнера, если отрицательные поля - это метод, используемый для вытягивания элемента таким образом (хотя он будет учитывать другие средства воздействия на выступ, например {overflow: visible}
).
Это ошибка, связанная с hasLayout, IE, и подробное описание ее можно найти в " Имеет формат: Ошибка отрицательного поля .
Как указано в приведенных выше ссылочных примечаниях, существуют способы заставить IE7 закрасить часть элемента с отрицательными полями, которая выступает за пределы его родительского элемента, но это предполагает "... не использовать какие-либо свойства, которые дают расположение элемента «. и это потенциально ограничивает другие методы проектирования, которые вы хотели бы использовать, и имеет другие побочные эффекты (опять же, см. цитируемую ссылку).
Но чтобы ответить на ваш вопрос: для обхода проблемы посмотрите список свойств, которые вызывают «hasLayout» в Get Me Layout! Пожалуйста! , (как положение, высота и ширина - yikes!) И убедитесь, что ни один из них не применяется к вашему контейнеру.