Я стажируюсь в одной неправительственной организации в Индии и пытаюсь исправить их веб-сайт, в том числе обновить их меню, чтобы загружать не последний элемент на странице, а по центру экрана. Все работает достаточно хорошо, но когда я пробую свое новое меню в IE6, я получаю эту странную ошибку, когда содержимое под меню дополняется дополнительными 30px или около того, а материал в крайнем правом выпадающем меню появляется в крайнем левом углу окна. Экран, всегда видимый. Когда я опускаю крайнюю правую ссылку («Публикации»), содержимое отображается как в правильном месте, так и в том же месте в крайнем левом углу экрана, и меняет цвет, когда я нахожу указатель мыши. Это сложно описать, поэтому, вероятно, было бы лучше, если бы вы посмотрели:
посетите http://sevamandir.org/a30/aboutus.htm в браузере IE6 / IE7, чтобы убедиться в этом. Я действительно ценю твою помощь. Кроме того, я использую монитор шириной 1000 пикселей, если за пределами этого пространства происходит больше шуток, я бы тоже хотел об этом знать.
Я снова посмотрел на проблему, и она стала еще более странной, чем я думал. Отображаются только две буквы самого нижнего элемента раскрывающегося меню, независимо от того, сколько элементов находится в крайнем левом раскрывающемся меню. Когда я удаляю самое левое выпадающее меню, нижний элемент из следующего самого левого элемента появляется в том же месте. Заполнение между меню и содержимым всегда одинаково. При наведении курсора на настоящий пункт меню две буквы с левой стороны меняют цвет в соответствии с цветом наведения.
К сожалению, многие люди, которые посещают наш сайт, используют старые браузеры, поэтому поддержка IE6 очень важна, хотя эта проблема действительно странная, и я был бы признателен за помощь.
Я загрузил файл со всей таблицей style.css в коде HTML и ниже, на http://sevamandir.org/a30/aboutus.htm.
Вот соответствующий код:
в заголовке html:
<script>
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
</script>
текст, окружающий меню - меню просто
<ul id="nav"><li></li></ul>
* * Тысяча двадцать-одина и т.д.
<!--begin catchphrase-->
<div style="float:left; height:27px; width:520px; margin:0px; font:16px Arial, Helvetica, sans-serif; font-weight:bold; color:#769841;">
Transforming lives through democratic & participatory development
</div>
<?php include("menu.php"); ?>
</div><!-- end header -->
<!--begin main text div-->
<div id="maincontent">
Соответствующее меню CSS:
#nav, #nav ul {
font:bold 11px Verdana, sans-serif;
float: left;
width: 980px;
list-style: none;
line-height: 1;
background: white;
font-weight: bold;
padding: 0;
border: solid #769841;
border-width: 0;
margin: 0 0 1em 0;
}
#nav a {
display: block;
width: 140px; /*this is the total width of the upper menu*/
w\idth: 120px; /*this is the width less horizontal padding */
padding: 5px 10px 5px 10px; /*horiz padding is the 2nd & 4th items here - goes Top Right Bottom Left */
color: #ffffff;
background:#b6791e;
text-decoration: none;
}
#nav a.daddy {
background: url(rightarrow2.gif) center right no-repeat;
}
#nav li {
float: left;
padding: 0;
width: 140px; /*this needs to be updated to match top #nav a */
background:#b6791e;
}
#nav li:hover, #nav li a:hover, #nav li:hover a {
background:#769841;
}
#nav li:hover li a {
background:#ffffff;
color:#769841;
}
#nav li ul {
position: absolute;
left: -999em;
height: auto;
width: 14.4em;
w\idth: 13.9em;
font-weight: bold;
border-width: 0.25em; /*green border around dropdown menu*/
margin: 0;
}
#nav li ul a {
background:#ffffff;
color:#769841;
}
#nav li li {
padding-right: 1em;
width: 13em;
background:#ffffff;
}
#nav li ul a {
width: 13em;
w\idth: 9em;
}
#nav li ul ul {
margin: -1.75em 0 0 14em;
}
#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
left: -999em;
}
#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul {
left: auto;
}
#nav li:hover, #nav li.sfhover, {
background: #769841;
color:#ffe400;
}
#nav li a:hover, #nav li li a:hover, #nav li:hover li:hover, #nav li.sfhover a:hover {
background: #769841;
color:#ffe400;
}