
Май 31, 2020 Запись была обновлена
Стиль кнопки загрузки

Наверняка вы видели такие кнопки, на которых сразу видно индикатор загрузки. То есть не создается какой отдельная полоса загрузка, а всё состояние видно прямо на этой кнопке. Такой эффект можно увидеть на фотохостингах, где на кнопке видно состояние загрузки вашего изображения. В нашей сегодняшней статье я покажу что такой эффект сделать вовсе несложно. Для этого нам будет нужна капелька JS и свойства, которые появились только в CSS3. В статье есть демо с примерами, где всего 18 разнообразных эффектов на любой вкус. Вам лишь нужно выбрать понравившийся и найти его код в CSS (в файле стилей всё подписано).
Стиль кнопки загрузки
18 необычных эффектов оформления кнопки загрузки:
Посмотреть примерСкачать
Возьмем обычную кнопку на HTML:
1 | <button class="progress-button" data-style="rotate-angle-bottom" data-perspective data-horizontal>Кнопка</button> |
И добавим между тегами <button> дополнительные теги:
1 2 3 4 5 6 7 8 | <button class="progress-button" data-style="rotate-angle-bottom" data-perspective data-horizontal> <span class="progress-wrap"> <span class="content">Кнопка</span> <span class="progress"> <span class="progress-inner"></span> </span> </span> </button> |
Если же вам не нужны всякие 3D трансформации, тогда можно убрать атрибут data-perspective. Код в этом случае будет выглядеть так:
1 2 3 4 5 6 | <button class="progress-button" data-style="fill" data-horizontal> <span class="content">Кнопка</span> <span class="progress"> <span class="progress-inner"></span> </span> </button> |
Вот основные эффекты для всех кнопок:
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | .progress-button { position: relative; display: inline-block; padding: 0 60px; outline: none; border: none; background: #1d9650; color: #fff; text-transform: uppercase; letter-spacing: 1px; font-size: 1em; line-height: 4; } .progress-button[disabled], .progress-button[disabled].state-loading { cursor: default; } .progress-button .content { position: relative; display: block; } .progress-button .content::before, .progress-button .content::after { position: absolute; right: 20px; color: #0e7138; font-family: "icomoon"; opacity: 0; transition: opacity 0.3s 0.3s; } .progress-button .content::before { content: "\e600"; /* Иконка в виде птички об успешной загрузке */ } .progress-button .content::after { content: "\e601"; /* Иконка ошибки */ } .progress-button.state-success .content::before, .progress-button.state-error .content::after { opacity: 1; } .notransition { transition: none !important; } .progress-button .progress { background: #148544; } .progress-button .progress-inner { position: absolute; left: 0; background: #0e7138; } .progress-button[data-horizontal] .progress-inner { top: 0; width: 0; height: 100%; transition: width 0.3s, opacity 0.3s; } .progress-button[data-vertical] .progress-inner { bottom: 0; width: 100%; height: 0; transition: height 0.3s, opacity 0.3s; } /* Необходимые стили для кнопок с 3D перспективой */ .progress-button[data-perspective] { position: relative; display: inline-block; padding: 0; background: transparent; perspective: 900px; } .progress-button[data-perspective] .content { padding: 0 60px; background: #1d9650; } .progress-button[data-perspective] .progress-wrap { display: block; transition: transform 0.2s; transform-style: preserve-3d; } .progress-button[data-perspective] .content, .progress-button[data-perspective] .progress { outline: 1px solid rgba(0,0,0,0); } |
А уже для каждой отдельной кнопки стили различаются.
Мы использовали псевдо-элементы ::before и ::after для того, чтобы задать иконки об успешной загрузке и об ошибке.
Вывод
Всё что нужно для того чтобы использовать понравившуюся кнопку у себя на сайте, так это найти ее CSS код в файле стилей (для этого скачайте архив с примером) и затем найдите HTML код этой кнопки. Кнопки действительно очень необычные и интересные. Надеюсь вам понравятся 🙂 .
Успехов!
С Уважением, Юрий Немец
Источник: http://tympanus.net/codrops/2013/12/12/progress-button-styles/
Спасибо за ваше обращение!
Мы свяжемся с вами в течение 2-х часов (график работы: пн-пт, с 10 до 19)