ie9 / CSS: всплывающее меню не работает в ie9, но отлично смотрится в Firefox / Chrome - PullRequest
0 голосов
/ 28 марта 2012

Пожалуйста, посмотрите это всплывающее меню: http://www.caseen.com/store.html. Это выглядит потрясающе как в Firefox, так и в Chrome, но не в IE9! Пытаюсь увидеть, что происходит = (.

Похоже, что ie9 завершает игнорирование таблицы стилей, но при проверке ошибок и щелчке по прямому режиму ie9 это выглядит ОЧЕНЬ некрасиво с огромными неприятными белыми границами вокруг ссылок!

Пожалуйста, смотрите мой код:

<div class="flyout">
                          <ul>
                            <!--START: CATEGORIES-->
                            <!--START: CATEGORY_FORMAT-->
                            <li><a href="view_category.asp?cat=CATID">&nbsp;CATEGORY</a>
                            <!--END: CATEGORY_FORMAT-->
                                <ul><!--START: SUB_CATEGORY_FORMAT-->
                                    <li><a href="view_category.asp?cat=CATID">&nbsp;CATEGORY</a></li>
                          <!--END: SUB_CATEGORY_FORMAT--></ul>
                          <!--END: CATEGORIES-->
                            </li>
                          </ul>
                          </div>

И CSS

.flyout {
width: 130px;
height: auto;
position:relative;
margin: -10 0;
padding: 0;
z-index:10000;
}

.flyout ul li a {
display:block; 
text-decoration:none;
color: #fff;
width: 130px;
border: solid;
border-color: #000;
border-width: 0 0 0 5px;
text-align:left;  
font-size:12px;
line-height: 25px;
}

.flyout ul { 
padding:0px;
list-style-type: none;
}
.flyout ul li {
float:left; 
margin-right:1px; 
position:relative;
}
.flyout ul li ul {
display: none;
}

.flyout ul li:hover a {
border: solid;
border-color: #fff;
border-width: 0 2 0 5px;
color: #60dfe5;
}

.flyout ul li:hover ul {
display:block; position:absolute; top:0;
left:130px; 
width:10px;
}
.flyout ul li:hover ul li a.hide {
background:#000; 
color:#fff;
}

.flyout ul li:hover ul li:hover a.hide {width:180px;}
.flyout ul li:hover ul li ul {display: none;}
.flyout ul li:hover ul li a {
display:block;
background:#000; 
color:#60dfe5;
width:200px;
}
.flyout ul li:hover ul li a:hover {
background:#000;
color:#fff;
}

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

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

Просмотрите этот отчет о проверке:

http://validator.w3.org/check?uri=http%3A%2F%2Fwww.caseen.com%2Fstore.html&charset=%28detect+automatically%29&doctype=Inline&group=0

У вас есть ряд незакрытых тегов и другие важные проблемы.IE вероятно задыхается от них и вызывает причуды.Сначала я бы порекомендовал очистить вашу разметку, чтобы исключить такую ​​возможность.Это действительно должно случиться независимо.

1 голос
/ 28 марта 2012

Ваше объявление DOCTYPE неверно, оно должно быть:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Хотя я бы предложил HTML5s DOCTYPE:

<!DOCTYPE html>
...