Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Поправить меню


Recommended Posts

Проблема в следующем: см. скрин:

34yxnwz.jpg

Это верхнее горизонтально меню. Стоит ocstore 1.5.1.3

Код этого куска выглядит след. образом:

<li>
<a href="ххх/">Концевые выключатели</a>
<div style="margin-left: -62px;">
<ul>
<li>
<a href="ххх/">Промфактор концевые выключатели (10)</a>
</li>
</ul>
</div>
</li>

Смещение дочернего блока происходит как раз из-за margin-left: -62px;

Если прямо в браузере поправить это значение на -66px, то все становится на свои места:

29az7zr.jpg

Все бы хорошо, но я никак не могу найти, где генерируется или откуда берется это значение?! В CSS его нету, в header.tpl тоже... Да и вообще оно появляется только на крайнем элементе меню, на остальных <div> идет без стилей..

Надіслати
Поділитися на інших сайтах


найдите и подправьте в stylesheet.css параметр:

 #menu > ul > li > div {left:-5px;}

однако, это кривой костыль.

У вас в файле шаблона стили применяются, что не есть гуд.

Надіслати
Поділитися на інших сайтах

У вас в файле шаблона стили применяются, что не есть гуд.

можно, пожалуйста, детальнее, где именно? я вижу, что некоторые отдельные элементы имеют свои стили, но вроде глобальных вставок CSS нету. или я что-то упустил?

upd:

подправил праметр, как Вы сказали. с left:-5px; вообще ничего не произошло, а с margin-left:-5px; поплыли все дочерние пункты меню.. ((

Змінено користувачем drewz
Надіслати
Поділитися на інших сайтах


видимо, в блоке, отвечающем за вывод подменю. Я вижу там встроеный стиль.

Он-то и забивает css. Покажите, что у вас в header.tpl после

<div id="menu">

Надіслати
Поділитися на інших сайтах

вот. дальше ничего нету

<?php if ($categories) { ?>
<div id="menu">
 <ul>
   <?php foreach ($categories as $category) { ?>
   <li><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
  <?php if ($category['children']) { ?>
  <div>
    <?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])) { ?>
	  <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
	  <?php } ?>
	  <?php } ?>
    </ul>
    <?php } ?>
  </div>
  <?php } ?>
   </li>
   <?php } ?>
 </ul>
</div>
<?php } ?>
<div id="line"></div>
<div id="notification"></div>

Надіслати
Поділитися на інших сайтах


Да и вообще оно появляется только на крайнем элементе меню, на остальных <div> идет без стилей..

Ан нет. На предпоследнем пункте вижу

margin-left: -113px;

Так что это какое-то очень сильное колдунство.

Надіслати
Поділитися на інших сайтах

Ан нет. На предпоследнем пункте вижу

margin-left: -113px;

Так что это какое-то очень сильное колдунство.

действительно...я и не заметил..

колдунство очень сильное, только где от него ноги растут? )

Надіслати
Поділитися на інших сайтах


И колдунство, видимо, заключается в

#menu > ul > li:hover

там бордер 2 пикселя толщиной. Думается мне, что загвоздка именно в этом.

Надіслати
Поділитися на інших сайтах

Или это не колдунство, а функция движка. Нет под рукой чистой сборки, да и заниматься некогда.

Нужно попробовать на стандартной теме "забить" в ширину категориями/подкатегориями меню и поглядеть, как оно формируется.

Тогда действительно не исключено, что толстенькие обводки "сбивают прицел".

upd: и категории и подкатегории?

Надіслати
Поділитися на інших сайтах

Для крайних правых сработало. Встали на место, но теперь проблема со всеми остальными - левый края выпадающих меню, соответственно сдвинулись на эти же 5px влево..

Надіслати
Поділитися на інших сайтах


Скорее всего у вас работает скрипт, который и назначает дивам стиль прямо в шаблоне. Я вообще не могу понять зачем там дивы в списке. На вашем месте я бы из меню убрал дивы и переверстал меню. У вас меню конечно специфическое, я бы или в php добавил id категорий или с помощью псевдоклассов выкручивается http://htmlbook.ru/css/nth-child , конечно может если подумать то и более ровное решение можно найти.

Надіслати
Поділитися на інших сайтах


Скорее всего у вас работает скрипт, который и назначает дивам стиль прямо в шаблоне.

как этот скрипт выявить? )

по поводу - переверстать меню - я бы с радостью, да вот пока что знаний для этого не сильно хватает ((

Надіслати
Поділитися на інших сайтах


как этот скрипт выявить? )

по поводу - переверстать меню - я бы с радостью, да вот пока что знаний для этого не сильно хватает ((

вот этого не скажу. Это нужно искать по шаблону. А если убрать то просто снести <div> и ему просто будет нечего двигать

Надіслати
Поділитися на інших сайтах


#menu > ul > li > a {
border-radius: 11px 11px 0px 0px;
color: #0C83D4;
display: block;
font-size: 14px;
font-weight: 700;
line-height: 14px;
padding: 12px 6px 11px 4px;
position: relative;
text-decoration: none;
z-index: 6;
}



#menu > ul > li ul > li > a {
color: #FFFFFF;
display: block;
min-width: 120px;
padding: 2px;
text-decoration: none;
white-space: nowrap;
}

Надіслати
Поділитися на інших сайтах


<p>

вот этого не скажу. Это нужно искать по шаблону. А если убрать то просто снести</p>

<div>и ему просто будет нечего двигать

попробовал убрать div, все меню пошло косяками.. ((

 #menu > ul > li > a { border-radius: 11px 11px 0px 0px; color: #0C83D4; display: block; font-size: 14px; font-weight: 700; line-height: 14px; padding: 12px 6px 11px 4px; position: relative; text-decoration: none; z-index: 6; } #menu > ul > li ul > li > a { color: #FFFFFF; display: block; min-width: 120px; padding: 2px; text-decoration: none; white-space: nowrap; }

</div>

сделал ваш вариант..практически ничего не изменилось ((

Надіслати
Поділитися на інших сайтах


<p>

попробовал убрать div, все меню пошло косяками.. ((

</div>

сделал ваш вариант..практически ничего не изменилось ((

Конечно если убрать див то нужно ввертываться второй уровень меню. Конечно трудно придется без знания верстки магазин вести. Допишите тогда кусок в цсс:

#menu li:nth-child(7) div {
          margin-left: -65px !important;
}

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.