Кнопка анимация на CSS3 с открывающимся описанием
↓ Также Вам будет интересно ↓
Сегодня у нас на очереди кнопка анимация, с красивым и современным эффектом выезжающего описания. Один из примеров красивой анимации можно увидеть здесь в статье “Эффектные кнопки CSS3 с анимацией иконок”. В данном случае все просто, и для создания анимации, мы не будем загружать её всякими скриптами. Почему? Потому, что на сегодняшний день, все это реально сделать с помощью все лишь одного CSS3. Как? А вот сейчас и рассмотрим это подробнее.
Как уже было сказано насчет анимации, мы сделаем горизонтально выдвигающееся описание-текст на правую сторону. Будет казаться, как будто кнопка открывается, и показывается сообщение внутри.
HTML код
1 2 3 4 5 6 |
Структура html очень проста, и похожа на ту, которую мы уже использовали для <a href="/web-developer/css/zhyoltaya-knopka-css3-s-opisaniem.html" target="_blank">создания анимационной кнопки на CSS3</a>. <a href="#" class="a-btn"> <span class="a-btn-text">Register now</span> <span class="a-btn-slide-text">It's free!</span> <span class="a-btn-icon-right"><span></span></span> </a> |
Все просто!
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
.a-btn{ background: linear-gradient(top, #80a9da 0%,#6f97c5 100%); padding-left: 20px; padding-right: 80px; height: 38px; display: inline-block; position: relative; border: 1px solid #5d81ab; box-shadow: 0px 1px 1px rgba(255,255,255,0.8) inset, 1px 1px 3px rgba(0,0,0,0.2), 0px 0px 0px 4px rgba(188,188,188,0.5); border-radius: 20px; float: left; clear: both; margin: 10px 0px; overflow: hidden; transition: all 0.3s linear; } .a-btn-text{ padding-top: 5px; display: block; font-size: 18px; white-space: nowrap; text-shadow: 0px 1px 1px rgba(255,255,255,0.3); color: #446388; transition: all 0.2s linear; } .a-btn-slide-text{ position:absolute; height: 100%; top: 0px; right: 52px; width: 0px; background: #63707e; text-shadow: 0px -1px 1px #363f49; color: #fff; font-size: 18px; white-space: nowrap; text-transform: uppercase; text-align: left; text-indent: 10px; overflow: hidden; line-height: 38px; box-shadow: -1px 0px 1px rgba(255,255,255,0.4), 1px 1px 2px rgba(0,0,0,0.2) inset; transition: width 0.3s linear; } .a-btn-icon-right{ position: absolute; right: 0px; top: 0px; height: 100%; width: 52px; border-left: 1px solid #5d81ab; box-shadow: 1px 0px 1px rgba(255,255,255,0.4) inset; } .a-btn-icon-right span{ width: 38px; height: 38px; opacity: 0.7; position: absolute; left: 50%; top: 50%; margin: -20px 0px 0px -20px; background: transparent url(../images/arrow_right.png) no-repeat 50% 55%; transition: all 0.3s linear; } |
При наведении курсора мыши, мы будем увеличивать отступ справа от кнопки, а также саму ширину "a-btn-slide-text" span
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.a-btn:hover{ padding-right: 180px; box-shadow: 0px 1px 1px rgba(255,255,255,0.8) inset, 1px 1px 3px rgba(0,0,0,0.2); } .a-btn:hover .a-btn-text{ text-shadow: 0px 1px 1px #5d81ab; color: #fff; } .a-btn:hover .a-btn-slide-text{ width: 100px; } .a-btn:hover .a-btn-icon-right span{ opacity: 1; } |
И в конце добавим некоторые эффекты нажатия с помощью тени:
1 2 3 4 5 6 7 |
.a-btn:active { position: relative; top: 1px; background: #5d81ab; box-shadow: 1px 1px 2px rgba(0,0,0,0.4) inset; border-color: #80a9da; } |
Вот теперь у Вас должно что-то получится, а именно кнопка анимация. Если нет, то скачивайте исходники, и применяйте. Надеюсь эта кнопка Вам пригодится!
Данный урок подготовлен для вас командой сайта vladmaxi.net
Источник урока:
Перевел: Владислав Бондаренко