Уважаемые друзья и пользователи сайта ART-UCOZ!
Уведомляем вас о том, что мы приняли трудное, но обдуманное решение о закрытии проекта в качестве Интернет-магазина ART-UCOZ. С 05.11.2022 года сайт ART-UCOZ.RU продолжит работать в качестве каталога файлов, статей и информации. Будет закрыт только раздел интернет-магазина!
Все товары были перенесены в наш новый проект SHOPTHEMES - Vendor Marketplace (https://shopthemes.ru), над которым мы долго работали и продолжаем улучшать его в настоящее время.
Вас ждут: личный кабинет, возможность пополнения баланса на любую сумму, зачисление бонусов за посещение, перевод средств между пользователями, вывод средств (для продавцов), личный чат, больше новых цифровых товаров и многое другое.
Уведомляем вас о том, что мы приняли трудное, но обдуманное решение о закрытии проекта в качестве Интернет-магазина ART-UCOZ. С 05.11.2022 года сайт ART-UCOZ.RU продолжит работать в качестве каталога файлов, статей и информации. Будет закрыт только раздел интернет-магазина!
Все товары были перенесены в наш новый проект SHOPTHEMES - Vendor Marketplace (https://shopthemes.ru), над которым мы долго работали и продолжаем улучшать его в настоящее время.
Вас ждут: личный кабинет, возможность пополнения баланса на любую сумму, зачисление бонусов за посещение, перевод средств между пользователями, вывод средств (для продавцов), личный чат, больше новых цифровых товаров и многое другое.
Уважаемые пользователи!
Доводим до вашего сведения, что мы не занимаемся обучениями по системе uCoz и настройками Ваших сайтов.
Подобные просьбы и вопросы - будут игнорироваться!
Подобные просьбы и вопросы - будут игнорироваться!
Красивый эффект кнопки на CSS
Дата добавления: 03.03.2017 - 15:19
Категория: Кнопки / иконки
Добавил: Buger
Количество просмотров: 1.4k
Количество комментариев: 0
Размер файла: 12.9 Kb
Рейтинг материала: 5.0 / 1
БЕСПЛАТНО
рейтинг
5.0
/
голосов
1
И так, приступим к установке.
Установка:
Для начала нам нужно подключить библиотеку FontAwesome (если она у вас не подключена), которая будет выводить шрифтовые иконки на кнопке, до и после нажатия. Подключать будем напрямую из CDN
Код
<link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'>
Далее подключаем стили css
Код
<style class="cp-pen-styles">
@import url('https://fonts.googleapis.com/css?family=Oswald:400,600');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
width: 100%;
height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #ccffdc;
overflow: hidden;
}
.container {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 300px;
height: 300px;
}
button {
position: relative;
width: 200px;
height: 70px;
border: none;
border-radius: 5px;
font-size: 1.5em;
background-color: #ff6600;
color: #fff;
padding: 0 10px;
font-family: 'Oswald', sans-serif;
outline: 0;
}
button:hover {
cursor: pointer;
-webkit-animation: moveButton 0.4s ease forwards;
animation: moveButton 0.4s ease forwards;
}
.bar,
.load {
position: absolute;
bottom: 10%;
left: 0%;
width: 95%;
height: 5px;
background-color: #b34700;
border-radius: 20px;
opacity: 0;
box-sizing: border-box;
margin: 0 4.5px;
}
.load {
background-color: #fff;
z-index: 1;
width: 0%;
}
button:active {
outline: 0;
}
button:hover .bar {
opacity: 1;
-webkit-transition: all 0.2s ease;
transition: all 0.2s ease;
}
button:hover > strong > i {
-webkit-animation: tremble 0.5s 0.4s ease;
animation: tremble 0.5s 0.4s ease;
}
button:hover .load {
opacity: 1;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.loading {
position: absolute;
top: 0px;
left: -5px;
width: 100%;
opacity: 1;
-webkit-transition: all 5s 0.1s linear;
transition: all 5s 0.1s linear;
}
button.complete {
background-color: #4EBA4E;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}
button.complete .bar,
button.complete strong,
button.complete .load {
opacity: 0;
}
button.complete:before {
content: '\f00c';
font-family: 'fontawesome';
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
font-weight: 600;
position: absolute;
left: 50%;
-webkit-transform: translateX(-50%) scale(1.2);
transform: translateX(-50%) scale(1.2);
color: #fff;
font-size: 1.5em;
opacity: 0;
-webkit-animation: appear 0.5s 0.2s ease-in-out forwards;
animation: appear 0.5s 0.2s ease-in-out forwards;
}
@-webkit-keyframes appear {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes appear {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-webkit-keyframes tremble {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
25% {
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
}
50% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
75% {
-webkit-transform: rotate(10deg);
transform: rotate(10deg);
}
100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
}
@-webkit-keyframes tremble-end {
0% {
-webkit-transform: rotate(0deg) translateX(-50%);
transform: rotate(0deg) translateX(-50%);
}
25% {
-webkit-transform: rotate(-10deg) translateX(-50%);
transform: rotate(-10deg) translateX(-50%);
}
50% {
-webkit-transform: rotate(0deg) translateX(-50%);
transform: rotate(0deg) translateX(-50%);
}
75% {
-webkit-transform: rotate(10deg) translateX(-50%);
transform: rotate(10deg) translateX(-50%);
}
100% {
-webkit-transform: rotate(0deg) translateX(-50%);
transform: rotate(0deg) translateX(-50%);
}
}
@keyframes tremble {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
25% {
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
}
50% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
75% {
-webkit-transform: rotate(10deg);
transform: rotate(10deg);
}
100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
}
@-webkit-keyframes moveButton {
0% {
width: 200px;
-webkit-transform: skew(0deg);
transform: skew(0deg);
border-radius: 5px;
}
10% {
-webkit-transform: translateY(-12px) skew(-10deg);
transform: translateY(-12px) skew(-10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
15% {
-webkit-transform: translateY(-7px) skew(10deg);
transform: translateY(-7px) skew(10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
20% {
-webkit-transform: translateY(-2px) skew(-15deg);
transform: translateY(-2px) skew(-15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
30% {
-webkit-transform: translateY(0px) skew(15deg);
transform: translateY(0px) skew(15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
40% {
-webkit-transform: skew(-20deg);
transform: skew(-20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
50% {
-webkit-transform: skew(20deg);
transform: skew(20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
60% {
-webkit-transform: skew(-15deg);
transform: skew(-15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
70% {
-webkit-transform: skew(15deg);
transform: skew(15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
80% {
-webkit-transform: skew(-10deg);
transform: skew(-10deg);
width: 200px;
border-top-right-radius: 15px;
border-bottom-left-radius: 15px;
}
90% {
-webkit-transform: skew(5deg);
transform: skew(5deg);
width: 200px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
}
100% {
-webkit-transform: skew(0deg);
transform: skew(0deg);
width: 200px;
border-radius: 5px;
}
}
@keyframes moveButton {
0% {
width: 200px;
-webkit-transform: skew(0deg);
transform: skew(0deg);
border-radius: 5px;
}
10% {
-webkit-transform: translateY(-12px) skew(-10deg);
transform: translateY(-12px) skew(-10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
15% {
-webkit-transform: translateY(-7px) skew(10deg);
transform: translateY(-7px) skew(10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
20% {
-webkit-transform: translateY(-2px) skew(-15deg);
transform: translateY(-2px) skew(-15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
30% {
-webkit-transform: translateY(0px) skew(15deg);
transform: translateY(0px) skew(15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
40% {
-webkit-transform: skew(-20deg);
transform: skew(-20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
50% {
-webkit-transform: skew(20deg);
transform: skew(20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
60% {
-webkit-transform: skew(-15deg);
transform: skew(-15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
70% {
-webkit-transform: skew(15deg);
transform: skew(15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
80% {
-webkit-transform: skew(-10deg);
transform: skew(-10deg);
width: 200px;
border-top-right-radius: 15px;
border-bottom-left-radius: 15px;
}
90% {
-webkit-transform: skew(5deg);
transform: skew(5deg);
width: 200px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
}
100% {
-webkit-transform: skew(0deg);
transform: skew(0deg);
width: 200px;
border-radius: 5px;
}
}
</style>
@import url('https://fonts.googleapis.com/css?family=Oswald:400,600');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
width: 100%;
height: 100vh;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
background-color: #ccffdc;
overflow: hidden;
}
.container {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
width: 300px;
height: 300px;
}
button {
position: relative;
width: 200px;
height: 70px;
border: none;
border-radius: 5px;
font-size: 1.5em;
background-color: #ff6600;
color: #fff;
padding: 0 10px;
font-family: 'Oswald', sans-serif;
outline: 0;
}
button:hover {
cursor: pointer;
-webkit-animation: moveButton 0.4s ease forwards;
animation: moveButton 0.4s ease forwards;
}
.bar,
.load {
position: absolute;
bottom: 10%;
left: 0%;
width: 95%;
height: 5px;
background-color: #b34700;
border-radius: 20px;
opacity: 0;
box-sizing: border-box;
margin: 0 4.5px;
}
.load {
background-color: #fff;
z-index: 1;
width: 0%;
}
button:active {
outline: 0;
}
button:hover .bar {
opacity: 1;
-webkit-transition: all 0.2s ease;
transition: all 0.2s ease;
}
button:hover > strong > i {
-webkit-animation: tremble 0.5s 0.4s ease;
animation: tremble 0.5s 0.4s ease;
}
button:hover .load {
opacity: 1;
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
}
.loading {
position: absolute;
top: 0px;
left: -5px;
width: 100%;
opacity: 1;
-webkit-transition: all 5s 0.1s linear;
transition: all 5s 0.1s linear;
}
button.complete {
background-color: #4EBA4E;
-webkit-transition: all 0.5s ease-in-out;
transition: all 0.5s ease-in-out;
}
button.complete .bar,
button.complete strong,
button.complete .load {
opacity: 0;
}
button.complete:before {
content: '\f00c';
font-family: 'fontawesome';
-webkit-transition: all 0.5s ease;
transition: all 0.5s ease;
font-weight: 600;
position: absolute;
left: 50%;
-webkit-transform: translateX(-50%) scale(1.2);
transform: translateX(-50%) scale(1.2);
color: #fff;
font-size: 1.5em;
opacity: 0;
-webkit-animation: appear 0.5s 0.2s ease-in-out forwards;
animation: appear 0.5s 0.2s ease-in-out forwards;
}
@-webkit-keyframes appear {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes appear {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-webkit-keyframes tremble {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
25% {
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
}
50% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
75% {
-webkit-transform: rotate(10deg);
transform: rotate(10deg);
}
100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
}
@-webkit-keyframes tremble-end {
0% {
-webkit-transform: rotate(0deg) translateX(-50%);
transform: rotate(0deg) translateX(-50%);
}
25% {
-webkit-transform: rotate(-10deg) translateX(-50%);
transform: rotate(-10deg) translateX(-50%);
}
50% {
-webkit-transform: rotate(0deg) translateX(-50%);
transform: rotate(0deg) translateX(-50%);
}
75% {
-webkit-transform: rotate(10deg) translateX(-50%);
transform: rotate(10deg) translateX(-50%);
}
100% {
-webkit-transform: rotate(0deg) translateX(-50%);
transform: rotate(0deg) translateX(-50%);
}
}
@keyframes tremble {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
25% {
-webkit-transform: rotate(-10deg);
transform: rotate(-10deg);
}
50% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
75% {
-webkit-transform: rotate(10deg);
transform: rotate(10deg);
}
100% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
}
@-webkit-keyframes moveButton {
0% {
width: 200px;
-webkit-transform: skew(0deg);
transform: skew(0deg);
border-radius: 5px;
}
10% {
-webkit-transform: translateY(-12px) skew(-10deg);
transform: translateY(-12px) skew(-10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
15% {
-webkit-transform: translateY(-7px) skew(10deg);
transform: translateY(-7px) skew(10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
20% {
-webkit-transform: translateY(-2px) skew(-15deg);
transform: translateY(-2px) skew(-15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
30% {
-webkit-transform: translateY(0px) skew(15deg);
transform: translateY(0px) skew(15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
40% {
-webkit-transform: skew(-20deg);
transform: skew(-20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
50% {
-webkit-transform: skew(20deg);
transform: skew(20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
60% {
-webkit-transform: skew(-15deg);
transform: skew(-15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
70% {
-webkit-transform: skew(15deg);
transform: skew(15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
80% {
-webkit-transform: skew(-10deg);
transform: skew(-10deg);
width: 200px;
border-top-right-radius: 15px;
border-bottom-left-radius: 15px;
}
90% {
-webkit-transform: skew(5deg);
transform: skew(5deg);
width: 200px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
}
100% {
-webkit-transform: skew(0deg);
transform: skew(0deg);
width: 200px;
border-radius: 5px;
}
}
@keyframes moveButton {
0% {
width: 200px;
-webkit-transform: skew(0deg);
transform: skew(0deg);
border-radius: 5px;
}
10% {
-webkit-transform: translateY(-12px) skew(-10deg);
transform: translateY(-12px) skew(-10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
15% {
-webkit-transform: translateY(-7px) skew(10deg);
transform: translateY(-7px) skew(10deg);
border-top-left-radius: 10px;
border-bottom-right-radius: 10px;
}
20% {
-webkit-transform: translateY(-2px) skew(-15deg);
transform: translateY(-2px) skew(-15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
30% {
-webkit-transform: translateY(0px) skew(15deg);
transform: translateY(0px) skew(15deg);
border-top-left-radius: 15px;
border-bottom-right-radius: 15px;
}
40% {
-webkit-transform: skew(-20deg);
transform: skew(-20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
50% {
-webkit-transform: skew(20deg);
transform: skew(20deg);
width: 210px;
border-top-left-radius: 20px;
border-bottom-right-radius: 20px;
}
60% {
-webkit-transform: skew(-15deg);
transform: skew(-15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
70% {
-webkit-transform: skew(15deg);
transform: skew(15deg);
width: 200px;
border-top-right-radius: 20px;
border-bottom-left-radius: 20px;
}
80% {
-webkit-transform: skew(-10deg);
transform: skew(-10deg);
width: 200px;
border-top-right-radius: 15px;
border-bottom-left-radius: 15px;
}
90% {
-webkit-transform: skew(5deg);
transform: skew(5deg);
width: 200px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
}
100% {
-webkit-transform: skew(0deg);
transform: skew(0deg);
width: 200px;
border-radius: 5px;
}
}
</style>
Разметка HTML кода самой кнопки
Код
<div class="container">
<button type="submit">
<strong>Отправить <i class="fa fa-paper-plane" aria-hidden="true"></i></strong>
<span class="bar"><span class="load"></span></span>
</button>
</div>
<button type="submit">
<strong>Отправить <i class="fa fa-paper-plane" aria-hidden="true"></i></strong>
<span class="bar"><span class="load"></span></span>
</button>
</div>
Если у вас не подключена библиотека jQuery (что маловероятно), то подключаем также из CDN:
Код
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
И теперь остается подключить скрипт для кнопки
Код
<script>
var lBar = $(".load");
var bar = $("button span");
var button = $("button");
button.on("click", function () {
lBar.addClass("loading");
setTimeout(function () {
lBar.removeClass("loading");
button.addClass("complete");
}, 500);
});
</script>
var lBar = $(".load");
var bar = $("button span");
var button = $("button");
button.on("click", function () {
lBar.addClass("loading");
setTimeout(function () {
lBar.removeClass("loading");
button.addClass("complete");
}, 500);
});
</script>
Источник: https://art-ucoz.ru/
Добавлять комментарии могут только зарегистрированные пользователи.
Поделись с друзьями: