Всем доброго времени суток. Столкнулся с такой проблемой: в ИЕ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>
При этом, если не выводить выпадающие меню, все в порядке. Дело явно в нем (хотя зная ие))
Что было сделано для решения проблемы:
- удалял лишние пробелы и переносы строк
- проверил на "закрытость" все теги
Ничего не помогло. Что еще делать и чем это вызвано, я не знаю. В гугле как то ничего не нашел толкового по этой части.
Спасайте, уважаемые господа форумчане