Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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>


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

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

Ничего не помогло. Что еще делать и чем это вызвано, я не знаю. В гугле как то ничего не нашел толкового по этой части.
Спасайте, уважаемые господа форумчане
Ответить с цитированием
  #2 (permalink)  
Старый 24.04.2013, 07:09
Аватар для tropiko
Аспирант
Отправить личное сообщение для tropiko Посмотреть профиль Найти все сообщения от tropiko
 
Регистрация: 23.06.2011
Сообщений: 44

Некорректная разметка в итоге:
<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>
		<!-- ... -->
	</ul>
	<!-- WTF? -->
	<li>
		<a class=" pie_first-child" href="http://on-shop/index.php?route=product/category&amp;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-код
Ответить с цитированием
  #3 (permalink)  
Старый 24.04.2013, 17:34
Новичок на форуме
Отправить личное сообщение для Вечный Студент Посмотреть профиль Найти все сообщения от Вечный Студент
 
Регистрация: 28.09.2012
Сообщений: 6

Сообщение от tropiko Посмотреть сообщение

Проверяйте PHP-код
"А слона то я и не заметил" (с). Вот что называется свежий взгляд. Не там закрыл родительский пункт меню! Спасибо большое!

Последний раз редактировалось Вечный Студент, 24.04.2013 в 18:08.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт ломает содержимое шапки Петрович jQuery 8 20.06.2012 15:29
Опять про верстку mycoding (X)HTML/CSS 2 03.07.2011 22:52