Показать сообщение отдельно
  #1 (permalink)  
Старый 23.04.2013, 18:57
Новичок на форуме
Отправить личное сообщение для Вечный Студент Посмотреть профиль Найти все сообщения от Вечный Студент
 
Регистрация: 28.09.2012
Сообщений: 6

ИЕ 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&amp;path=20_61">Категория</a></li>
                                      </ul></li>
                                                                                            <li><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&amp;path=20_62">Категория</a></li>
                                      
                                                                                            <li><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&amp;path=20_63">Категория</a></li>
                                      
                                                                                            <li><a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&amp;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&amp;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&amp;path=18">Ноутбуки</a>
                              </li>
                            <li>
                        <a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&amp;path=25">Компоненты</a>
                              </li>
                            <li>
                        <a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&amp;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>


При этом, если не выводить выпадающие меню, все в порядке. Дело явно в нем (хотя зная ие))

Что было сделано для решения проблемы:
- удалял лишние пробелы и переносы строк
- проверил на "закрытость" все теги

Ничего не помогло. Что еще делать и чем это вызвано, я не знаю. В гугле как то ничего не нашел толкового по этой части.
Спасайте, уважаемые господа форумчане
Ответить с цитированием