Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Анимированный border css

#html #css




.simple__button {
    margin-top: -9px;
    display: inline-block;
    padding: 0px 5px;
    background: #000;
    border-radius: 10px;
    height: 47px;
    min-width: 107px;
    text-align: center;
}
.sb__ {
    color: #fff;
    cursor: pointer;
    margin-top: 3px;
    font-size: 17px;
    padding: 7px 16px;
    text-transform: uppercase;
    text-align: center;
    border: 2px dashed #89cac0;
    height: 22px;
    min-width: 105px;
    display: inline-block;
    border-radius: 7px;
}
Это текст!
Как реализовать анимированный "бегающий" border. Как сделать чтобы этот border двигался по кругу(прямоугольнику)?


Ответы

Ответ 1



Держи через animation @keyframes marching-ants { 0% { background-position: 0 0, 10px 100%, 0 10px, 100% 0; } 100% { background-position: 10px 0, 0 100%, 0 0, 100% 10px; } } .simple__button { display: inline-block; padding: 0px 5px; background: #000; border-radius: 10px; height: 47px; min-width: 107px; } .sb__ { color: #fff; cursor: pointer; margin-top: 6px; font-size: 17px; padding: 7px 16px; text-transform: uppercase; text-align: center; height: 22px; min-width: 105px; display: inline-block; border-radius: 7px; background-image: linear-gradient(90deg, #89cac0 50%, transparent 50%), linear-gradient(90deg, #89cac0 50%, transparent 50%), linear-gradient(0, #89cac0 50%, transparent 50%), linear-gradient(0, #89cac0 50%, transparent 50%); background-repeat: repeat-x, repeat-x, repeat-y, repeat-y; background-size: 10px 2px, 10px 2px, 2px 10px, 2px 10px; animation: marching-ants 400ms infinite linear; }
Это текст!


Ответ 2



Полагаю вам нужен примерно такой эффект a { color: inherit; text-decoration: none; outline: none; } .list-unstyled { padding: 0; margin: 0; list-style: none; } * { box-sizing: border-box; } html { background: #defbfd; } nav { height: 100%; font-family: "MuseoSansCyrl", sans-serif; color: #000; } nav .nav-ul { padding: 0; margin: 0; list-style: none; margin: 2.9375rem 2.3125rem 0; text-align: center; } nav .nav-li { display: inline-block; font-size: 1em; } nav .nav-li a { position: relative; display: block; margin: 0 2px; padding: 0.625rem 1.25rem; text-transform: uppercase; overflow: hidden; } nav .nav-li a:before { box-sizing: border-box; transform: translateX(100%); content: ""; position: absolute; bottom: 0; left: 0; width: 99.5%; height: 2px; border-bottom: 2px solid transparent; border-left: 2px solid transparent; } nav .nav-li a:after { box-sizing: border-box; transform: translateX(-100%); content: ""; position: absolute; top: 0; left: 0; width: 99.5%; height: 2px; border-top: 2px solid transparent; border-right: 2px solid transparent; } nav .nav-li a:hover { color: inherit; text-decoration: none; } nav .nav-li a:hover:before { transition: 0.1s transform linear, 0.1s height linear 0.1s; transform: translateX(0); height: 100%; border-color: #1fbfac; } nav .nav-li a:hover:after { transition: 0.1s transform linear 0.2s, 0.1s height linear 0.3s; transform: translateX(0); height: 100%; border-color: #1fbfac; }

Ответ 3



Вам нужно смотреть в сторону SVG и stroke анимации. Как пособие я пользовался этим: https://css-tricks.com/svg-line-animation-works/

Комментариев нет:

Отправить комментарий