Подтвердить что ты не робот

Отрицательная верхняя граница не работает в IE 8 или 9

У меня есть div с margin-top:-200px. Я хочу, чтобы div двигался вверх/позади div над ним.

Отлично работает во всех браузерах, кроме IE. margin-top:200px работает, поэтому я знаю, что это не проблема с развалом маржи.

Есть ли ошибка, о которой я не знаю?

4b9b3361

Ответ 1

IE не любит отрицательные поля и не отображает их должным образом. Расположите свои элементы относительно или абсолютно и используйте top: -200px.

Примечание. Позиционирование может значительно изменить макет, и вам, возможно, придется переделать ваши стили.

Ответ 2

Отрицательный край скрывает div... Вот трюк используйте zoom: 1, position: relative

Проблема:

.container{
padding: 20px;
}
.toolbar{
margin-top: -10px ;
}

в IE красная область панели инструментов div скрывается. даже мы используем zoom: 1. Чтобы избавиться от этой проблемы, нам нужно добавить позицию: относительная тоже.

Решение:

поэтому ваш класс css станет

.container{
padding: 20px;
}
.toolbar{
margin-top: -10px ;
zoom: 1;
position: relative;
}

http://trickyclicks.com

Ответ 3

Если вышеизложенное не помогает: убедитесь, что у вас отключен div. Теперь добавьте ширину 100% в div-div и поместите его влево. Как это. Избавился от всего моего отрицательного поля, то есть беды...

div.container {}
div.offender /*inside div.container*/ {
  width: 100%;
  float: left;
  margin-bottom: -20px;   /* ie fix */
  zoom: 1;                /* ie fix */
  position: relative;     /* ie fix */
  display: block;
}

Ответ 4

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

Ответ 5

Чтобы поддерживать отрицательные поля в IE, я исправил схожие проблемы с display: table;. Другие исправления, такие как zoom: 1; и position: relative;, не всегда работают (по крайней мере, в моем опыте). Если вы хотите добавить этот стиль в IE, я бы предложил использовать https://modernizr.com/

// using comment to show that .no-cssreflections belongs to the html tag
/*html*/.no-cssreflections .container { display: table; }