ИЕ 8-9 ломает верстку
Всем доброго времени суток. Столкнулся с такой проблемой: в ИЕ8-9 формируется абсолютно неправильная верстка меню, которая не соответствует задуманной. Вложенное меню переползает в основное, при этом не полностью. При этом в ИЕ 7 с этим все в порядке. Я понимаю, объяснил несколько неясно, поэтому смотрите приложенные материалы :)
Итак, в ИЕ 9 имеем следующее: ![]() ![]() А нужно получить следующее (Google Chrome): ![]() Код, который выдает ИЕ: <div class="menu-wrap pie_first-child "> <ul class=" pie_first-child "> <li class=" pie_first-child "><a class=" pie_first-child " href="http://on-shop/index.php?route=common/home">Главная</a></li> <li class=" "> <a class="active-main pie_first-child " href="http://on-shop/desktops/">Компьютеры</a> <ul style="display: none;" class=" "> <li class=" pie_first-child"><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=20_61">Категория</a></li> </ul></li> <li><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=20_62">Категория</a></li> <li><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=20_63">Категория</a></li> <li><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=20_60">Категория2</a></li> <li><a class=" pie_first-child" href="http://on-shop/desktops/pc/"><span class=" pie_first-child">PC</span></a> <ul> <li class=" pie_first-child"><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=20_26_59">Моноблоки</a></li> </ul> </li> <li><a class=" pie_first-child" href="http://on-shop/desktops/mac/">Mac</a></li> </ul> <li> <a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=18">Ноутбуки</a> </li> <li> <a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=25">Компоненты</a> </li> <li> <a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=57">Планшеты</a> </li> <div id="search" class="search"> <div class="button-search pie_first-child"></div> <input onclick="this.value = '';" name="filter_name" value="Поиск" type="text" placeholder="Поиск"> </div> </div> Код, генерирующий разметку: <div class="main-nav "> <div class="menu-wrap"> <ul> <li><a href="<?php echo $home; ?>"><?php echo $text_home; ?></a></li> <?php if ($categories) { ?> <?php for ($k = 0; $k<4; ++$k) { ?> <?php $category = $categories[$k] ?> <li> <?php if ($category['active']) { ?> <a href="<?php echo $category['href']; ?>" class="active-main"><?php echo $category['name']; ?></a> <?php } else { ?> <a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a> <?php } ?> <?php if ($category['children']) { ?> <?php for ($i = 0; $i < count($category['children']);) { ?> <ul> <?php $j = $i + ceil(count($category['children']) / $category['column']); ?> <?php for (; $i < $j; $i++) { ?> <?php if (isset($category['children'][$i])) { ?> <?php if( !$category['children'][$i]['children'] ) { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li> <?php } else { ?> <li><a href="<?php echo $category['children'][$i]['href']; ?>"><span><?php echo $category['children'][$i]['name']; ?></span></a> <ul> <?php foreach( $category['children'][$i]['children'] as $menu3item ) { ?> <li><a href="<?php echo $menu3item['href']; ?>"><?php echo $menu3item['name']; ?></a></li> <?php } ?> </ul> <?php } ?> </li> <?php } ?> <?php } ?> </ul> <?php } ?> <?php } ?> </li> <?php } } ?> </ul> При этом, если не выводить выпадающие меню, все в порядке. Дело явно в нем (хотя зная ие)) Что было сделано для решения проблемы: - удалял лишние пробелы и переносы строк - проверил на "закрытость" все теги Ничего не помогло. Что еще делать и чем это вызвано, я не знаю. В гугле как то ничего не нашел толкового по этой части. Спасайте, уважаемые господа форумчане :help: |
Некорректная разметка в итоге:
<div class="menu-wrap pie_first-child "> <ul class=" pie_first-child "> <li class=" pie_first-child "> <a class=" pie_first-child " href="http://on-shop/index.php?route=common/home">Главная</a> </li> <li class=" "> <a class="active-main pie_first-child " href="http://on-shop/desktops/">Компьютеры</a> <ul style="display: none;" class=" "> <li class=" pie_first-child"><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=20_61">Категория</a></li> </ul> </li> <!-- ... --> </ul> <!-- WTF? --> <li> <a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&path=18">Ноутбуки</a> </li> <!-- ... --> <div id="search" class="search"> <div class="button-search pie_first-child"></div> <input onclick="this.value = '';" name="filter_name" value="Поиск" type="text" placeholder="Поиск"> </div> </div> Проверяйте PHP-код |
Цитата:
|
Часовой пояс GMT +3, время: 08:40. |