Адаптивное меню на CSS без JS

Поделиться
HTML-код
  • Опубликовано: 24 мар 2022
  • В этом видео вы найдете вариант создания адаптивного меню с использованием возможностей HTML и CSS. При реализации меню, в том числе и гамбургера, не будет использован JS, только чистый CSS.

Комментарии • 59

  • @valery_kz
    @valery_kz Год назад +4

    Однозначно лайк!
    Вы молодец. Всегда спокойно, понятно, доступно.
    Далеко не всем дан дар преподавания, у Вас он есть.

  • @fuldes4651
    @fuldes4651 4 месяца назад

    Ваш видео-ролик помог студентам 1-го курса! Благодарим за помощь👍

  • @progerlife6690
    @progerlife6690 Месяц назад

    Огромное спасибо. Смог сделать это меню сколько нервов ушло.. Получилось. Правда использовал JS при клике на бургер добавляется динамический класс (например active-menu__burger) и у нас открывается меню)Спасибо еще раз!

    • @matroskin978
      @matroskin978  Месяц назад

      Супер! 👍
      Пожалуйста ;)

  • @luchiksolnca6039
    @luchiksolnca6039 2 года назад

    Спасибо, очень чисто и просто

  • @user-eu8wd3rq2o
    @user-eu8wd3rq2o Год назад

    Спасибо тебе большое

  • @user-mb8zd3zj2m
    @user-mb8zd3zj2m 2 года назад +2

    Здравствуйте, выглядит интересно, было бы здорово, еслиб в описинии к видео вы прилагали купию кода, спасибо за видео)

    • @matroskin978
      @matroskin978  2 года назад

      Здравствуйте! Ок, в следующих уроках исправлюсь)

  • @valerakuznetsov
    @valerakuznetsov Месяц назад

    спасибо большое

  • @arturzakirov9167
    @arturzakirov9167 2 года назад

    Интересная задумка сделать меню через checkbox. Очень круто! По поводу минимльного разрешения экранов к сожалению было все хорошо пока самсунг не выпустил модель galaxy fold у которого ширина экрана 280px и теперь приходится подгонять контент под это разрешение. Так что ниже 320px к сожалению экраны еще есть

    • @matroskin978
      @matroskin978  2 года назад +1

      Ну, думаю, количество таких разрешений резко стремится к нулю, поэтому своеобразным стандартом уже давно стала минимальная ширина в 320px. В любом случае, всегда можно уменьшить это значение ;)

  • @user-jr1ti7bm3y
    @user-jr1ti7bm3y Год назад

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

    • @matroskin978
      @matroskin978  Год назад +1

      Привет! Убирать абсолютное позиционирование. Но с точки зрения юзабилити - это так себе идея, когда контент будет ездить туда-сюда.

  • @siarheitkachou6006
    @siarheitkachou6006 Год назад

    Только вот проблема. Если развернул меню, потом расширил экран, и заново сузил, то меню открытым остаётся.. Надо как-то снимать галочку при скрытии бургера

    • @matroskin978
      @matroskin978  Год назад

      В реальности никто не занимается такими экспериментами с меню. Имею в виду, никто не изменяет размеры экрана. Ну а на мобильных устройствах это и вовсе невозможно.

  • @brokert3163
    @brokert3163 7 месяцев назад

    Привет, сделал такой же бургер, но чуть модифицировал его, заняло 5 минут на 2x скорости. Спасибо

  • @ostenmark6982
    @ostenmark6982 Год назад

    При нажатии на копку меню в адаптивной версии - ничего не происходит, вроде все так же сделал, где ошибка?

    • @matroskin978
      @matroskin978  Год назад

      Очевидно, где-то в коде) внимательнее пересмотрите урок, чтобы ее найти.

  • @razmiksahakyan720
    @razmiksahakyan720 Год назад

    у меня есть несколько вопросов

  • @razmiksahakyan720
    @razmiksahakyan720 Год назад

    у меня не работает overflow: hidden

  • @user-ek9mp1nw5s
    @user-ek9mp1nw5s Год назад

    норм

  • @user-ts5dk5nd6r
    @user-ts5dk5nd6r Год назад

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

    • @matroskin978
      @matroskin978  Год назад

      Возможно, правило не срабатывает из-за низкого приоритета, т.е. его переопределяет правило с более высоким приоритетом. В этом случае нужно просто повысить приоритет правила. В консоли этот момент можно проверить.

  • @hochzeitsvideohamburg4632
    @hochzeitsvideohamburg4632 Год назад

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

    • @matroskin978
      @matroskin978  Год назад

      Доделать его)

    • @user-ei8ib3mq2q
      @user-ei8ib3mq2q Год назад

      @@matroskin978 это можно без js?

    • @matroskin978
      @matroskin978  Год назад +1

      @@user-ei8ib3mq2q вряд ли.

    • @user-ei8ib3mq2q
      @user-ei8ib3mq2q Год назад

      @@matroskin978 спасибо!просто прохожу курс обучения верстки и везде всплывает бургер меню и аккардеон,вот думаю когда его стоит изучить сейчас или позже когда пройду основы html и css???

    • @matroskin978
      @matroskin978  Год назад +1

      @@user-ei8ib3mq2q лучше позже. Бургер - это уже сложнее основ, поэтому вначале лучше все же изучить основы.

  • @user-kb6nz7fw5d
    @user-kb6nz7fw5d 3 месяца назад

    :hover плохо работает на мобильных устройствах. Можно убрать все :hover
    @media (max-width: 767px) {
    a:hover, li:hover {
    pointer-events: none;
    }
    }

    • @matroskin978
      @matroskin978  3 месяца назад

      Ховер никак не работает на мобильных по сути. Разве что стать на ссылку и не убирать палец. Можно убрать. А можно и не убирать - не используется, но и не мешает. Поэтому не особо вижу смысл в подобных правилах. Зачем отключать то, что итак не используется?
      В то же время бывают любители смотреть на десктопе браузер с минимальной шириной (возможно, удивитесь, но есть и такие). Зачем им отключать ховер? Итак люди страдают))

  • @sergeykuzmich9202
    @sergeykuzmich9202 11 месяцев назад

    Здравствуйте, выглядит интересно, но у меня не получается розвирнуть бургер,можно консультацию, спасибо за видео)

    • @matroskin978
      @matroskin978  11 месяцев назад

      Здравствуйте!
      Если что-то не работает, значит, что-то сделали не так)
      Поэтому внимательнее пересмотрите видео и сделайте правильно))
      К сожалению, исходного кода не сохранилось, поэтому с ним помочь не смогу. Но Вы можете найти на канале аналогичный урок с меню, бургером и с исходным кодом впридачу.

    • @sergeykuzmich9202
      @sergeykuzmich9202 11 месяцев назад

      @@matroskin978 делаю все правильно,могу код скинуть.Если вам нету возможности или желания помочь,попробую найти на канале

    • @sergeykuzmich9202
      @sergeykuzmich9202 11 месяцев назад

      на канале нету такого как сейчас урок

    • @matroskin978
      @matroskin978  11 месяцев назад +1

      @@sergeykuzmich9202 ну дубля, конечно же, нет. Но есть такой, например - ruclips.net/video/mPlQWAEW1qc/видео.html

    • @matroskin978
      @matroskin978  11 месяцев назад +1

      @@sergeykuzmich9202 если делаете также, тогда должно работать... так подсказывает логика. Выложите архив с кодом - я посмотрю.

  • @JustFun-zk1dx
    @JustFun-zk1dx Год назад

    У меня вместо бургера белый прямоугольник...В чем проблема??

    • @matroskin978
      @matroskin978  Год назад

      Проблема в коде. Где-то есть ошибка, которую нужно найти и исправить. Для поиска ошибки в браузере есть консоль разработчика, в которой, скорее всего, будет информация об ошибке.

  • @voydot8178
    @voydot8178 Год назад

    привет, я закрепил шапку с гамбургером
    теперь у меня шапка при пролистывании страницы зафиксирована наверху, чтобы в любой момент можно было использовать бургер
    завернул всё в хеадер, и
    header {
    position: sticky;
    height: 250px;
    top: 0;
    }
    так же завернул все параграфы в див(ну или что угодно) и:
    .paragraph {
    margin-top: -175px;
    }
    я недавно начал изучать html/css, недели 2 где то, не судите строго :D
    закрепить-то шапку закрепил, а ощущение что метод грязный, не уверен можно ли такое практиковать
    если есть какой нибудь другой способ, подскажите пожалуйста(без js и тд тп офк)

    • @matroskin978
      @matroskin978  Год назад +1

      Привет! Другого способа нет. Только через позиционирование (fixed либо sticky). Поэтому все правильно, ничего "грязного" в этом способе нет)

    • @voydot8178
      @voydot8178 Год назад

      @@matroskin978 спасибо большое!

  • @sergeykuzmich9202
    @sergeykuzmich9202 11 месяцев назад

    сообщения удаляете?

    • @matroskin978
      @matroskin978  11 месяцев назад +1

      Зачем мне это, если в сообщении нет ничего криминального? Если там была ссылка, то скорее всего, такой комментарий удаляет RUclips. Во вкладке О канале найдите мой email и напишите на него.

    • @matroskin978
      @matroskin978  11 месяцев назад +1

      Увидел в уведомлениях Ваш комментарий со ссылкой на GitHub. В списке комментариев его нет, а это значит, что RUclips не понравилась ссылка и он все же удалил комментарий.
      Как и говорил, в коде у Вас все же есть ошибки. Целых три. Поэтому и не зря я рекомендовал Вам еще раз внимательнее пересмотреть урок. Куда полезнее самостоятельно искать и исправлять ошибки вместо того, чтобы кто-то сделал это за Вас. Говорят, на своих ошибках человек учится лучше.
      1. В медиа-запросе для .menu Вы использовали height: 0; Как же это меню будет показываться, если у него нулевая высота?)) Вместо height: 0; нужен left: 0; (мы ведь позиционируем меню).
      2. И пара ошибок для правил трансформации псевдоэлементов. У Вас правила записаны так:
      #checkbox_toggle:checked~.hamburger.hamburger-line::before
      #checkbox_toggle:checked~.hamburger.hamburger-line::after
      А правильно так:
      #checkbox_toggle:checked~.hamburger .hamburger-line::before
      #checkbox_toggle:checked~.hamburger .hamburger-line::after
      Найдете 2 отличия?)) В Вашем случае ищется элемент сразу с двумя классами .hamburger.hamburger-line. А правильно искать элемент с классом .hamburger-line внутри родителя с классом .hamburger.
      Исправленный код доступен по ссылке - github.com/matroskin978/menu-kuzmich

    • @sergeykuzmich9202
      @sergeykuzmich9202 11 месяцев назад

      Спасибо большое за информацию и помощь,Я согласен что нужно самому искать ошибки,Я не люблю чтобы за меня делали. Консультацию получать это хорошо

    • @matroskin978
      @matroskin978  11 месяцев назад +1

      @@sergeykuzmich9202 пожалуйста ;)

  • @mishased8322
    @mishased8322 25 дней назад

    Простите пожалуйста, но это пзд. Вот вы просто про среди видео меняете расширение экрана и таки "ага да". Что "да", я вот смотрю ничего не изменилось, что вы там поняли, просто хотя бы объяснить, показать куда смотреть. Я просто не понимаю, к чем действия некоторые в медиазапросе.

    • @matroskin978
      @matroskin978  25 дней назад

      Если бы вы уточнили конкретную временную метку, а не просто сказали "про среди видео", тогда бы, возможно, я прокомментировал и уточнил, что именно я увидел или имел в виду.
      Ну а так "ага, да" может вполне относится и к моим собственным мыслям. Например, у меня получился не тот результат, на который рассчитывал. Я ведь не машина, которая способна одновременно выполнять миллионы операций в секунду. Я человек. И мне сложно одновременно выполнять даже три операции одновременно: писать код, комментировать и думать, что именно сказать и написать в следующую секунду. Поэтому уж и вы меня простите, пожалуйста.