Internet Explorer 6 не отображает мою навигацию - PullRequest
1 голос
/ 31 марта 2009

У меня был кошмар, я весь день пытался с этим, и безуспешно искал в Google. У меня есть небольшая навигация влево, и я хотел, чтобы она работала для языка RTL. В FireFox он работал нормально, но IE6 его вообще не отображает.

Может кто-нибудь сказать мне, почему?

HTML является разметкой по умолчанию .. ничего особенного

<div id="topnav">
<ul>
<li><a href="#"><?php print NAV_HOME; ?></a></li>
<?php wp_list_pages('sort_column=menu_order&depth=1&title_li='); ?>
</ul>
</div>

#topnav ul {
    float: left;
    margin: 0 0 0 30px;
}

#topnav li {
    float: right;
    padding: 0;margin:0;
    margin-left: 10px;
    padding-left: 10px;
    background: url(img/topnav_br.png) no-repeat left center;
}

Дело в том, что он будет перемещен влево, но элементы LI будут запускаться справа налево из-за его языка RTL ... но этот код выше ничего не показывает в IE6, но работает в FF.

Кто-нибудь, пожалуйста, скажите мне, что я здесь делаю неправильно.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 31 марта 2009

Возможно, вас укусила ошибка "hasLayout" . Попробуйте это:

#topnav ul {
    float: left;
    margin: 0 0 0 30px;
    zoom:1;
}
1 голос
/ 31 марта 2009

Вы не предоставили достаточно информации. Если вы не указали ширину, IE по умолчанию установит 100% доступного пространства (в пределах родительского элемента).

Следующий код (с фоновыми цветами) четко отображается (в IE6) с элементами списка, смещенными вправо в пределах ul (и фактически в 30px от окна отображения с двойным полем слева). Мы не знаем, какие у вас контейнеры (если есть) или какой тип документа (если есть) вы используете. Мы не знаем, что еще там плавают.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<head>
<title>Float right li test</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
body { margin: 0;
    padding: 0;
}
#topnav ul {
    float: left;
    margin: 0 0 0 30px;
background-color: yellow;
}

#topnav li {
    float: right;
    padding: 0;margin:0;
    margin-left: 10px;
    padding-left: 10px;
background-color: pink;

}
</style>
</head>
<body>
<div id="topnav">
<ul>
<li><a href="#">Selection 1</a></li>
<li><a href="#">Selection 2</a></li>
</ul>
</div>
<p>This is where the page content will go.</p>
</body>
</html>
0 голосов
/ 31 марта 2009

Единственное, что я могу увидеть здесь, что вызовет проблему с разметкой в ​​IE6, это левый край и плавающий на верхней части ul. Это заставит IE6 удвоить разницу. Добавить "display: inline" в topnav ul

topnav ul {

float: left;
margin: 0 0 0 30px;
display: inline;

}

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