Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
 Аватар для [FENIX]
4 / 4 / 2
Регистрация: 09.10.2009
Сообщений: 540

Доработка keyframes

07.04.2020, 14:07. Показов 1212. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!

Народ, подскажите, как доработать keyframes, чтобы при наведении мыши на элемент, у элемента появлялся бы с каждой стороны border, и чтобы этот border как бы "выезжал". У левой стороны выезжал снизу вверх, у правой стороны сверху вниз, у верхней стороны слева направо, а у нижней стороны справа на лево.

Элемент - квадрат.

Вот пример того, что я сделал: https://jsfiddle.net/fenix_63/bru5fhmc/1/

Образец взял вот отсюда: https://codepen.io/uiswarup/pen/RBByzW

Вот что не получается:

1. Хочу, чтобы выезжающие линии (border) останавливались как только они будут соприкасаться друг друга, то есть когда они образуют красную рамку, а не "ехали" бы дальше (пример во вложении).



2. Когда мышь увожу от элемента - чтобы эти линии (border) "уезжали" бы в обратную сторону.

Помогите пожалуйста, в какую сторону копать? Где почитать можно, чтобы это реализовать?
Изображения
 
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.04.2020, 14:07
Ответы с готовыми решениями:

CSS keyframes
Всем привет. Возникла интересная проблема, буду признателен всем, кто поможет ее решить. Есть код перемещения изображения...

Анимация @keyframes
Как сделать,чтобы после анимации @keyframes анимация не возвращалась назад, пока не отведешь мышь от кнопки?

@keyframes не работает в IE
Здравствуйте, вот код анимации: #Logo-conteiner{ position: absolute; width: 250px; top: calc(50% - 125px); left:...

3
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,093
07.04.2020, 14:29
Лучший ответ Сообщение было отмечено gogolik как решение

Решение

[FENIX],
HTML5
1
2
3
4
5
6
<div class="creature">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
.creature {
    width:  200px;
    height: 200px;
    background: #3ac;
    position: relative;
}
 
.creature span{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    box-sizing: border-box;
}
 
.creature span:nth-child(1)
{
    transform:rotate(0deg);
}
 
.creature span:nth-child(2)
{
    transform:rotate(90deg);
}
 
.creature span:nth-child(3)
{
    transform:rotate(180deg);
}
 
.creature span:nth-child(4)
{
    transform:rotate(270deg);
}
 
span:before{
    width: 0;
    height: 6px;
    background: red;
    transition: width 2s;
    content: '';
    position: absolute;
}
 
.creature:hover span:before
{
    width:100%;
}
1
 Аватар для [FENIX]
4 / 4 / 2
Регистрация: 09.10.2009
Сообщений: 540
07.04.2020, 14:38  [ТС]
AlexZaw спасибо большое!
0
 Аватар для [FENIX]
4 / 4 / 2
Регистрация: 09.10.2009
Сообщений: 540
08.04.2020, 21:43  [ТС]
AlexZaw а может ты знаешь как сделать, чтобы если элемент с border-radius:50%, то и линии эти "выезжали" бы по окружности?

https://jsfiddle.net/fenix_63/bru5fhmc/

HTML5
1
2
3
4
5
6
<div class="creature">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.creature {
    width:  200px;
    height: 200px;
    border-radius: 50%;
    background: #3ac;
    position: relative;
}
 
.creature span{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    box-sizing: border-box;
}
 
.creature span:nth-child(1)
{
    transform:rotate(0deg);
}
 
.creature span:nth-child(2)
{
    transform:rotate(90deg);
}
 
.creature span:nth-child(3)
{
    transform:rotate(180deg);
}
 
.creature span:nth-child(4)
{
    transform:rotate(270deg);
}
 
span:before{
    width: 0;
    height: 6px;
    background: red;
    transition: width 0.5s;
    content: '';
    position: absolute;
}
 
.creature:hover span:before
{
    width:100%;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.04.2020, 21:43
Помогаю со студенческими работами здесь

Анимация на сайте (@keyframes)
Приветствую Кто знает кросс браузерное решение для - @keyframes, а если быть точнее, то для IE &lt; 10 версии пример @keyframes...

@-moz-keyframes button
Пример только для изучения анимации. На 80% кнопочка получает свои background-color и color, но на 100% восстанавливается черный на...

2 параллельных keyframes синхронны?
Всем привет! Есть 2 DIV, которые лежат внутри 1 родителя. Первый DIV вращается с помощью keyframes от 0 до 360 градусов, бесконечно. ...

Как запустить @keyframes в фокусе?
Привет форумчане. Всех с наступившим 2019. Есть страница, где три картинки на разной высоте 1=400, 2=700, 3=1400(не в фокусе) Ко всем...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru