IE7 float right заставляет родительский элемент занимать всю ширину - PullRequest
1 голос
/ 23 января 2012

Я полностью сбит с толку этим и не до конца понимаю проблему IE7.Страница, о которой идет речь, здесь , и я говорю о верхней серой строке меню.На всех других достаточно современных браузерах это выглядит просто отлично.В IE7 (и, возможно, также в IE6, но мы не поддерживаем это) элемент div.navArrow, имеющий float:right, перемещается вправо, в результате чего родительский элемент <li> занимает оставшуюся ширину страницы.

Я не уверен, с чего начать, чтобы это исправить.Есть идеи, пожалуйста?

Ответы [ 3 ]

1 голос
/ 23 января 2012

Я на самом деле исправил это, применив специальный CSS для IE7 и ниже.Я дал родителю стиль <li> a float:right и div.navArrow a float:none.Это, казалось, сделало трюк.

0 голосов
/ 23 января 2012

Перед вашим DOCTYPE есть пробел, и это, скорее всего, вызывает эту проблему. Кроме того, определите правильный DOCTYPE (например, <!DOCTYPE html>) и проверьте свою страницу, на которой полно ошибок.

http://validator.w3.org/check?uri=http%3A%2F%2Fmpreview.ami.co.nz%2F&charset=%28detect+automatically%29&doctype=Inline&group=0

0 голосов
/ 23 января 2012

Мейб поможет вам использовать любой вид.По своему опыту я знаю, что position: relative; не исправить, вы можете исправить это с помощью zoom: 1; в IE7.Facebook использует это исправление:

.clearfix{
    zoom: 1;
}
.clearfix::after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    line-height: 0;
    visibility: hidden;
}

Если не имеет значения, что содержимое не вытекает из контейнера, вы можете установить контейнер с помощью overflow: hidden;, и это будет работать довольно хорошо.

...