<MyRusakov.ru />

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

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

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

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

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

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

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

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

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

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

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

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

Эффект появления рамки при наведении

Эффект появления рамки при наведении

Сегодня мы рассмотрим простой, но интересный эффект появления рамки из центра, при наведении на кнопку. В качестве объекта наведения может быть любая фигура.

Позиционирование кнопки

HTML разметка состоит из тега button и родительского контейнера.

<div class="container">
    <button type="button">Отправить</button>
</div>


Эффект появления рамки при наведении.

Предвосхищая вопрос новичков - "А зачем нужен контейнер?", предлагаю посмотреть на картинку выше. По умолчанию кнопка прижата к левому верхнему углу браузера. Для управления позиционированием кнопки, нужна внешняя оболочка. Контейнер играет роль родителя, а кнопка является его дочерним элементом. Мы хотим расположить кнопку чуть ниже от верха окна браузера и в центре по горизонтали. CSS свойства отвечающие за позиционирование элемента, прописываются его родителю - контейнеру.

.container{
    margin-top: 40px; /* отступ сверху */
    display: flex; /* гибкий контейнер */
    justify-content: center; /* по центру по горизонтали */
}


Эффект появления рамки при наведении.

Стилизация кнопки

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

button {
    font-family: 'Roboto Condensed'; /* название шрифта */
    text-transform: uppercase; /* трансформация в заглавные буквы */
    font-weight: 900; /* толщина шрифта */
    color: #fff; /* цвет текста на кнопке */
    font-size: 30px; /* размер шрифта */
    background-color: #ad1ca1; /* цвет кнопки */
    padding: 30px 60px; /* расстояние от текста до края кнопки */
    border: 2px solid #000; /* толщина стиль и цвет обводки кнопки */
    position: relative; /* относительное позиционирование */
}


Эффект появления рамки при наведении.

Создание рамки внутри кнопки

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

button:before {
    content: ''; /* отображает псевдоэлемент */
    position: absolute; /* абсолютное позиционирование */
    top: 5%; /* позиция линии сверху */
    right: 3%; /* позиция линии справа */
    bottom: 5%; /* позиция линии снизу */
    left: 3%;/* позиция линии слева */
    border-top: solid 2px; /* толщина верхней линии */
    border-bottom: solid 2px; /* толщина нижней линии */
    transition: 0.2s; /* плавный hover эффект */
    transform: scaleX(1); /* ширина рамки 100% */
}


Эффект появления рамки при наведении.

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

button:after {
    content: '';
    position: absolute;
    top: 5%;
    right: 3%;
    bottom: 5%;
    left: 3%;
    border-left: solid 2px;
    border-right: solid 2px;
    transition: 0.2s;
    transform: scaleY(1);
}


Эффект появления рамки при наведении.

Появление рамки при наведении

Белая рамка (картинка ниже), должна появиться при наведении мыши на кнопку. Поэтому мы спрячем её, заменив значения у scaleX и scaleY свойства transform, на нулевые.



Эффект появления рамки при наведении.

transform: scaleX(0);
transform: scaleY(0);

При наведении мыши на кнопку, поменяется значение scale с 0 на 1 и тогда мы увидим этот красивый эффект.

button:hover:before,
button:hover:after{
    transform: scale(1);
}

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

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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