Проблема с отображением swmenupro

Обговорення тем про дизайн та верстка нових шаблонів та редагування. Доопрацювання та модифікації клубних шаблонів.
abdulidze
Користувач
Користувач
Повідомлень: 11
З нами з: 20 березня 2010, 22:34

Проблема с отображением swmenupro

Повідомлення abdulidze » 20 березня 2010, 22:38

Добрый день!
У меня такая проблемма:
Слева выпадающее меню, использую компонент swmenupro. Дело в том при разных расширениях экрана оно съежает в сторону...
Я не знаю как и куда его можно привязать, чтоб оно стояло на своем месте...
Сайт находится сдесь: http://dobrobyt.com.ua/
Помогите, пожалуйста, я не силен в этих делах.
Заранее огромное СПАСИБО!
Вкладення
66.png
Такое отображение при большем расширении
55.png
Такое отображение при меньшем расширении

Аватар користувача
gruz
Користувач
Користувач
Повідомлень: 697
З нами з: 19 червня 2008, 18:09
Звідки: Прип'ять
Дякував (ла): 2 рази
Подякували: 26 рази

Re: Проблема с отображением swmenupro

Повідомлення gruz » 21 березня 2010, 01:35

Проблему я знайшов, але як вирішити - не знаю.Мало інформації маю, як там все організовано.

Тобі що-небудь говорять такі речі, як position:relative, position:absolute ?

Частково можна вирішити так, що буде нормально після завнтаження сторінки, але якщо зміниш її розмір - попливе.

У тебе в тілі сторінки є код:

Код: Виділити все

if (TransMenu.isSupported()) {
var ms = new TransMenuSet(TransMenu.direction.right, 0, -255, TransMenu.reference.topRight);
Його певно генерує модуль, шукай де саме.

Його треба замінити на такий

Код: Виділити все

if (TransMenu.isSupported()) {

var myobj;
myobj = document.getElementById("subwrap30");
function findPos(obj) {
   var curleft = curtop = 0;

   if (obj.offsetParent) {
   do {
         curleft += obj.offsetLeft;
         curtop += obj.offsetTop;
      } while (obj = obj.offsetParent);
   return [curleft,curtop];
   }
}
var elpoz;
elpoz =  findPos (myobj);
var ms = new TransMenuSet(TransMenu.direction.right, -elpoz[0]+8, -255, TransMenu.reference.topRight);
Щоби в принципі вирішити, треба дивитись на робочий сайт зсередини.
Аватар користувача
gruz
Користувач
Користувач
Повідомлень: 697
З нами з: 19 червня 2008, 18:09
Звідки: Прип'ять
Дякував (ла): 2 рази
Подякували: 26 рази

Re: Проблема с отображением swmenupro

Повідомлення gruz » 21 березня 2010, 02:15

Тут http://www.swmenupro.com/index.php?opti ... _next=prev
буржуй на цю тему каже
A
transmenu can not be inside any divs that have position:relative; this
affects the submenu positioning so you would need to change the
position:relative; to position:static; for the CSS in that file as shown
below:
і далі
Those changes however may affect the position of other elements in the page,
in which case you would need to edit some more CSS for those elements.
Аватар користувача
gruz
Користувач
Користувач
Повідомлень: 697
З нами з: 19 червня 2008, 18:09
Звідки: Прип'ять
Дякував (ла): 2 рази
Подякували: 26 рази

Re: Проблема с отображением swmenupro

Повідомлення gruz » 21 березня 2010, 02:38

Я ще трохи погемороївся з CSS-ом. Типу зробив, але тоді сайт не по центру, а в ліво пливе. Якщо у того меню така дурацька вимога, як каже буржуй, і ніяк її не обійти через налаштування самого меню, то викидай його нафіг.
abdulidze
Користувач
Користувач
Повідомлень: 11
З нами з: 20 березня 2010, 22:34

Re: Проблема с отображением swmenupro

Повідомлення abdulidze » 21 березня 2010, 13:25

Если честно, то я не понял как исправить эту ошибку... :oops:
gruz писав:Якщо у того меню така дурацька вимога, як каже буржуй, і ніяк її не обійти через налаштування самого меню, то викидай його нафіг.
А что я вместо него могу поставить? Может Вы подскажете где можно взять похожее меню... Или все-таки это помучать еще немного?

Аватар користувача
gruz
Користувач
Користувач
Повідомлень: 697
З нами з: 19 червня 2008, 18:09
Звідки: Прип'ять
Дякував (ла): 2 рази
Подякували: 26 рази

Re: Проблема с отображением swmenupro

Повідомлення gruz » 21 березня 2010, 13:49

Складне питання. Якби я робив, то я би дивився в бік extended menu. Але я не впевнений, як його з VM зв'язати.
Хоча, якби я робив, то я би може і довів те, що є, до нормального результату.

У тебе проблема, що скріпт відраховує відступ підменю від краю екрана. А CSS відраховує від контейнера. Якби край контейнера співпадав з краєм екрана, то не мав би ти проблем. Але в тебе в трьох місцях перед меню контейнери мають властивість position:relative. Тобто твоє підменю відраховує свій відступ не зовсім абсолютно, від краю екрану, а від свого контейнера з position:relative.

Щоби це обійти, тобі можна усунути скрізь у контейнерах цього меню position:relative. Але тоді пливе інший дизайн.

Ну щоби ти зрозумів.

Є два випадки.
В цьому ці 111 розташуються впритул до лівого краю, бо їх абсолютне зміщення буде рахуватись від <body>, а воно left:0;

Код: Виділити все

<html>
<body>
<div style="margin-left:200px;">
<div style="position:absolute;left:0;">
111
</div>
</div>
</body>
</html>
А в цьому випадку розташуються на 200 пікселів від лівого краю. Бо директива position:relative каже, що у дочірнього об'єкту абсолютне позиціонування буде від цього об'єкту. Тобто ці 111 будуть відступати не від краю документу, а від краю зовнішнього DIV

Код: Виділити все

<html>
<body>
<div style="position:relative;margin-left:200px;">
<div style="position:absolute;left:0;">
111
</div>
</div>
</body>
</html>
Спробуй усунити всі position:relartive і далі правити шаблон, щоби він знову повернувся до нормального вигляду. Але це теж вимагатиме гемороїтись, додавати додаткові діви, відступи і т.д.

Або, може все ж є якісь опції в тому трансменю на цей випадок?


  • Similar Topics
    Відповіді
    Перегляди
    Останнє повідомлення

Повернутись до “Шаблони для Joomla — дизайн, верстка, модифікації”

Хто зараз онлайн

Зараз переглядають цей форум: 1 і 0 гість