1. Приветствуем Вас на нашем закрытом форуме для складчиков сайта cmsheaven.org. Если Вы частный вебмастер, фрилансер, владелец малого или среднего бизнеса, представитель студии по разработке сайтов - будем рады видеть Вас в наших рядах экономных людей.
    Регистрация на форуме возможна только после вступления в складчину

Фиксированное меню. Проблема с наложением элементов, z-index с позиционированием

Тема в разделе "Вопросы по шаблонам для Joomla [тех. поддержка]", создана пользователем Gala, 29 янв 2016.

Статус темы:
Закрыта.
  1. Gala

    Gala Матерый складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    544
    Симпатии:
    178
    Скриншот ошибки : ...


    Описание ошибки : ...
    При прокрутке блок со слайдером и блок с контентом перекрывают фиксированный хедер с меню.
    В дефолтном шаблоне меню было не фиксированное. В админке в настройках фреймворка (Vertex) для данного шаблона фиксация не работает.
    Нужно было зафиксировать всю шапку с логотипом и меню.

    Для хедера
    position:fixed;
    z-index:99999999;
    opacity:1;

    для субменю
    z-index:1000000000;

    Субменю при прокрутке перекрывает все элементы, а само меню и другие элементы хедера уходят под слайдер и текст контента.
    Хотя некоторые блоки перекрываются фиксированным хедером как и должно быть. Т.е. проблема не общая, а локальная.

    Для слайдера в шаблоне z-index:0; и z-index:1;
    прозрачность слайдеру сделала меньше 1 (про прозрачность от habrahabr)
    все z-index с позиционированием.

    Идет наложение, хотя корневые элементы в HTML структуре у блоков разные. Вроде бы элементарная задача. Смотрю все дерево элементов, в чем проблема не вижу. Меняла параметры и так и сяк ... и никак :(

    Название хостинга или локального сервера : ...
    Majordomo

    Версия php : ...
    Joomla 3.4.4
    Шаблон S5 Oasis v1.0

    Ссылка на бекап вашего сайта (можно сделать при помощи компонента akeeba backup) :

    Последнее редактирование: 29 янв 2016
    #1
  2. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720

    #s5_content_body_wrap {
    top: 114px;
    z-index: -1;
    position: relative;
    }
    потом у хедера высоту нужно убрать которая зачем-то дважды задана и все будет ок...
    #2
    Gala нравится это.
  3. Gala

    Gala Матерый складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    544
    Симпатии:
    178
    да, так хедер перекрывает контент, но теперь наведение мыши на элементы контента и кнопки не работает
    #3
  4. Gala

    Gala Матерый складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    544
    Симпатии:
    178
    сделала общего родителя для хедера и для контента и задала ему :
    z-index: 0;
    position: relative;
    а для контента твой код с z-index: -1;

    вроде заработало :)

    спасибо, Modi34 [​IMG][​IMG]

    пы.сы. пожалуйста, не закрывай пока тему :oops: есть проблема с этим меню на девайсах, если сама не справлюсь, спрошу еще :rolleyes: вроде как элемент один, можно считать за один вопрос
    Последнее редактирование: 29 янв 2016
    #4
  5. Gala

    Gala Матерый складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    544
    Симпатии:
    178
    Это же хедер на мобильной версии.
    Задача, чтобы этот блок был плавающим.
    Хедер расположен под меню (top: 70px), а при прокрутке он должен фиксироваться вверху страницы, т.е само меню прокручивается (как есть), а хедер с лого и телефоном фиксируется (top: 0px).

    Нужно подключить подобный jQuery скрипт для фиксации меню вверху страницы при прокрутке:
    Код:
    <script>
      var h_hght = 70; // высота шапки
      var h_mrg = 0;    // отступ когда шапка уже не видна
      $(function(){
       $(window).scroll(function(){
          var top = $(this).scrollTop();
          var elem = $('#s5_header_area1');
          if (top+h_mrg < h_hght) {
           elem.css('top', (h_hght-top));
          } else {
           elem.css('top', h_mrg);
          }
        });
      });
    </script>
    Где его подключить?
    #5
  6. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    а с чего вы решили что этот код будет работать???
    все js подключаются перед закрывающим тегом боди
    #6
  7. Gala

    Gala Матерый складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    544
    Симпатии:
    178
    Где взяла код, народ писал, что работает.
    пробовала и другой вариант:
    Код:
    <script type="text/javascript">
    $(function(){
    $(window).scroll(function() {
    var top = $(document).scrollTop();
    if (top < 70) $("#s5_header_wrap").css({top: '0', position: 'relative'});
    else $("#s5_header_wrap").css({top: '0', position: 'fixed'});
    });
    });
    </script>
    Перед боди в индексном как раз и подключала.
    Не получается :(
    #7
  8. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    потому что код не рабочий...
    если создадите новую тему я вам рабочий напишу
    #8
  9. Gala

    Gala Матерый складчик

    Регистрация:
    15 окт 2014
    Сообщения:
    544
    Симпатии:
    178
    Хорошо :)
    #9
Статус темы:
Закрыта.