Как привлечь внимание посетителя к какому-либо элементу/блоку/ссылке/рекламе на своем сайте? Как обычно — заставить ее мигать или дергаться, в общем как-то анимировать. Но как быть, если не хочется перегружать свой сайт излишними скриптами и анимированными картинками (гифками)? Тогда на помощь приходит CSS. Мигающая кнопка на чистом CSS делается очень просто.
В данной статье предлагаю разобрать самый простой вариант создания мигающей кнопки с помощью средств CSS.
Как это работает?
Для примера представим, что у нас есть сайт ресторана, и, для осуществления заказа/бронирования столиков, на его страницах размещена кнопка «Заказать стол».
1 |
<a href="#" id="stolik"><span><img src="/images/stolik.png" /></span>Заказать стол</a> |
В нашем случае — это обычная ссылка, с картинкой внутри. Картинка имеет прозрачный фон и обернута в span, т.к. саму картинку мы не сможем заставить мигать, а вот span не составит труда.
Пришло время добавить некоторые стили оформления самой кнопки, а также заставим её мигать:
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 |
@-webkit-keyframes rainbow { 0% {background: #a6ce20;} 50% {background: #000} 100% {background: #a6ce20;} } @keyframes rainbow { 0% {background: #a6ce20;} 50% {background: #000} 100% {background: #a6ce20;} } #stolik { background: #a6ce20; line-height: 70px; display: block; height: 70px; width: 400px; padding-right: 25px; font-family: 'Open Sans Condensed', sans-serif; font-size: 32px; color: #fff; text-decoration: none; font-weight: bold; text-transform: uppercase; margin: 0px auto; webkit-animation: rainbow 2s linear 2s infinite; animation: rainbow 2s linear 2s infinite; } @-webkit-keyframes rainbow1 { 0% {background: #000;} 50% {background: #a6ce20} 100% {background: #000;} } @keyframes rainbow1 { 0% {background: #000;} 50% {background: #a6ce20} 100% {background: #000;} } #stolik span { background: #000; display: block; float: left; margin-right: 25px; text-align: center; height: 70px; width: 70px; webkit-animation: rainbow1 2s linear 2s infinite; animation: rainbow1 2s linear 2s infinite; } #stolik img { vertical-align: middle; margin-top: 8px; } |
Здесь необходимо обратить внимание на свойство animation у элементов #stolik и span, в которых мы вызываем правило @keyframes (для каждого свой, соответственно). В правилах @keyframes мы указываем ключевые кадры смены цвета элементов, в то время как animation запускает эти кадры.
В зависимости от заданных цветов и скорости анимации будет создан эффект мигания. В примере задано 2 цвета, Вы же можете указать сколько угодно цветов, задав при этом проценты, на которых этот цвет будет достигаться.
В итоге у нас получается простая анимация мигания кнопки, которую можно просмотреть перейдя по ссылке ниже.
Комментарии
Здесь еще никто не оставлял комментарии.