<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

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

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

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

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Переключатель для бокового меню

Переключатель для бокового меню

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

Создание переключателя

Создадим в HTML разметке обычный блок с классом toggle и повесим ему событие клика. При клике в области переключателя запустится функция toggleMenu().

<div class="toggle" onclick="toggleMenu();"></div>

Оформление и позиционирование переключателя

Созданный в HTML разметке переключатель, пока нигде не обозначен. С помощью CSS, мы зададим ему внешний вид и разместим куда надо - в правый верхний угол страницы.

.toggle{
    position: absolute;
    top: 0; / * прибить наверх страницы * /
    right: 0; / * разместить в правом краю * /
    width: 60px; / * ширина области переключателя * /
    height: 60px; / * высота области переключателя * /
    background: #0091ea; / * цвет области переключателя * /
    cursor: pointer; / * вид курсора * /
}


Переключатель для бокового меню.

С помощью псевдоэлемента и иконочного шрифта FontAwesome нарисуем в области переключателя иконку гамбургера.

.toggle:before{
    content: '\f0c9'; / * код иконки копируем с FontAwesome * /
    font-family: fontAwesome; / * название шрифта * /
    position: absolute;
    width: 100%;
    height: 100%;
    line-height: 60px; / * вертикальное выравнивание * /
    text-align: center; / * горизонтальное выравнивание * /
    font-size: 24px; / * размер шрифта * /
    color: #fff;/ * цвет шрифта * /
}


Переключатель для бокового меню.

Область переключателя меняет цвет при наведении на красный.

.toggle:hover{
    background: #ea1d63; / * цвет фона под переключателем * /
}


Переключатель для бокового меню.

Иконка крестик в активном состоянии.

.toggle.active:before{
    content: '\f00d'; / * код иконки крестика с FontAwesome * /
    background: #ea1d63; / * цвет иконки * /
}

Однако замена переключателя с иконки гамбургера на крестик сама по себе не произойдет.

JavaScript код

Создадим функцию toggleMenu(), которая через объект classList.toggle добавит активный класс (с иконкой крестик и на панель навигации) если его нет и удалит если он есть.

function toggleMenu(){
    // находим элемент div и заносим его в переменную
    let navigation = document.querySelector('.navigation');
    // находим переключатель и заносим в переменную
    let toggleMenu = document.querySelector('.toggle');
    navigation.classList.toggle('active');
    toggleMenu.classList.toggle('active');
}

В итоге созданная функция меняет иконки и разворачивает панель навигации. Фрагмент CSS кода из прошлого урока.

.navigation.active,
.navigation:hover{
    width: 300px; / * развернутая панель навигации * /
}

Адаптивное меню

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

@media (max-width: 767px){
    .navigation
    {
        left: -60px;
    }
    .navigation.active
    {
         left: 0px;
        width: 100%;
    } }

Посмотрите пример на CodePen

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.