IE7 дает UL маржу, хотя я сказал не

У меня ul, который отлично отображается в обычных браузерах и даже в IE8! Однако, когда я перевожу IE8 в режим IE7 (может ли это быть проблемой?), Я получаю макет слева (нормальное поведение справа:

Поведение IE7 слева, нормальное поведение справа.

А вот и мой CSS:

ul
{
    position: relative;
    z-index: 3;
    list-style: none;
    margin: 0px;
    padding: 0px;
    background: transparent;
    margin-left: 0px;
}

Мой вопрос: как мне избавиться от глупого смещения (я использовал margin-left -10px (или другое отрицательное значение), но, конечно, это влияет и на другие браузеры. Спасибо за любую помощь :-)


person Bojangles    schedule 20.03.2011    source источник
comment
Кстати. маржа слева: 0 пикселей; не должно быть необходимо, поскольку вы уже установили его с margin: 0px   -  person BerggreenDK    schedule 20.03.2011
comment
@BerggreenDK: Я подумал, что IE слишком глуп, чтобы смотреть на стенографию. Но это не помогло. @BalusC: Решение, которое я придумал, теперь фактически использует поплавки, по иронии судьбы :-P   -  person Bojangles    schedule 20.03.2011
comment
Я всегда создаю CSS с 4-5 открытыми браузерами: Google Chrome, Firefox, Safari, а затем Internet Explorer (самая последняя / самая распространенная версия) + У меня есть рабочая станция / плеер vmWare, работающие с дополнительной ОС, поэтому я могу запустить, например. Internet Explorer 7 и т. Д. Для специальных целей тестирования. По моему опыту, чем меньше взломов вы используете для MSIE, тем лучше сайт будет работать с чем угодно в будущем. Веб-сайт моей компании пережил 3 версии Internet Explorer без сбоев в макете.   -  person BerggreenDK    schedule 20.03.2011


Ответы (1)


Обычно я просто использую «чистый стандартный CSS» для кроссбраузерной совместимости.

Вы тестировали в Google Chrome, Firefox и Safari?

Попробуйте установить "коробочную модель" в UL, используя display:block;

person BerggreenDK    schedule 20.03.2011
comment
Во-вторых, если вы очистите все свои HTML-теги вначале, то сможете избавиться от странных границ, высоты строк и т. Д. - person BerggreenDK; 20.03.2011
comment
Спасибо! Я изменил CSS, чтобы использовать float вместо inline-block, и теперь он работает хорошо. - person Bojangles; 20.03.2011
comment
display:inline-block просто не поддерживается в IE6 / 7. - person BalusC; 20.03.2011
comment
Я знаю. Я сокращал display: inline-block; zoom: 1; *display: inline. - person Bojangles; 20.03.2011
comment
эти уловки / хаки обычно доставляют мне проблемы рано или поздно, я более или менее держусь от них подальше. Не могу порекомендовать их ни для чего, кроме быстрых исправлений. На мой взгляд, нет долгосрочного решения. - person BerggreenDK; 21.03.2011