<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

Зачем Вы изучаете программирование/создание сайтов?

Изменение внешнего вида курсора при наведении

Изменение внешнего вида курсора при наведении

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

HTML разметка

Создадим меню, используя теги списков. Для кастомного курсора создадим div с классом cursor.

<ul>
    <li><a href="#">Home</a></li>
    <li><a href="#">About</a></li>
    <li><a href="#">Portfolio</a></li>
    <li><a href="#">Team</a></li>
    <li><a href="#">Contact</a></li>
    <div class="cursor"></div>
</ul>


Изменение внешнего вида курсора при наведении.

CSS стили

Поработаем над внешним видом меню.

@import url('https://fonts.googleapis.com/css2?family=Quicksand:[email protected];400;500;600;700&display=swap');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Quicksand', sans-serif;
    cursor: none;
}
body{
    background: #4e342e;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}
ul{
    position: relative;
    display: flex;
    flex-direction: column;
}
ul li{
    list-style: none; /*убираем черные маркеры*/
}
ul li a{
    position: relative;
    display: inline-block; /*отображать ссылки как строчно-блочный элемент */
    margin: 10px 0; /*отступы между пунктами меню*/
    font-size: 4em; /*размер шрифта*/
    text-decoration: none; /*ссылки без подчеркивания*/
    color: #ffd600; /*цвет ссылок*/
    transition: 0.2s; /*плавные действия*/
}


Изменение внешнего вида курсора при наведении.

Стилизация кастомного курсора

При наведении на меню курсор будет пятикратно увеличиваться в размерах.

ul .cursor{
    position: fixed; /*фиксированное позиционирование*/
    width: 20px; /*ширина курсора*/
    height: 20px; /*высота курсора*/
    border-radius: 50%; /*закругленность*/
    background: #ffd600; /*цвет курсора*/
    mix-blend-mode: difference; /*режим наложения*/
    transform: translate(-50%,-50%); /*по центру*/
    transition: 0.1s; /*плавные действия*/
    pointer-events: none; /*запрет быть целью события мыши*/
}
ul li:hover ~ .cursor {
    transform: translate(-50%,-50%) scale(5); /*масштабирование при наведении*/
}


Изменение внешнего вида курсора при наведении.

JS код

Далее нужно заставить курсор двигаться за мышкой. Находим в документе элемент с классом cursor и заносим его в переменную cursor. С помощью метода addEventListener (слушатель событий) отлавливаем событие mousemove и запускаем функцию. Функция каждый раз фиксирует новые координаты мыши и вставляет их в стили курсора, действуя через переменную cursor.

<script type="text/javascript">
    const cursor = document.querySelector('.cursor');
    document.addEventListener('mousemove', (e) => {
        cursor.style.left = e.pageX + "px";
        cursor.style.top = e.pageY + "px";
    });
</script>


Изменение внешнего вида курсора при наведении.

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

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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