<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

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

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

Подпишитесь на мой канал на 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):

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