Кнопки на сss3
В данном уроке, я покажу как сделать удивительно красивые кнопки с помощью css3 и совершенно без js.
Вся наша работа будет заключаться в одном css файле, который удобно подключать к своему проекту, в случае необходимости, и одному файлу с картинкой.
Кнопки, кстати, будут достаточно хорошо отображаться в браузерах и без поддержки css3, для этого в css прописаны стили “по умолчанию”.
И так, основной файл:
my.html
<ahref="#"class="button blue big">Download</a> <ahref="#"class="button blue medium">Submit</a> <ahref="#"class="button small blue rounded"> Submit</a>
И наш основной файл стилей для кнопок:
buttons/buttons.css
.button{
font:15px Calibri, Arial, sans-serif;
/* полупрозрачная тень текста */
text-shadow:1px 1px 0 rgba(255,255,255,0.4);
text-decoration:none !important;
white-space:nowrap;
display:inline-block;
vertical-align:baseline;
position:relative;
cursor:pointer;
padding:10px 20px;
background-repeat:no-repeat;
background-position:bottom left;
background-image:url('button_bg.png');
background-position:bottom left, top right, 0 0, 0 0;
background-clip:border-box;
/* по умолчанию радиус закругления будет 8px */
-moz-border-radius:8px;
-webkit-border-radius:8px;
border-radius:8px;
/* 1px край вокруг кнопки. */
-moz-box-shadow:0 0 1px #fff inset;
-webkit-box-shadow:0 0 1px #fff inset;
box-shadow:0 0 1px #fff inset;
/* Animating the background positions with CSS3 */
/* Currently works only in Safari/Chrome */
-webkit-transition:background-position 1s;
-moz-transition:background-position 1s;
-o-transition:background-position 1s;
transition:background-position 1s;
}
.button:hover{
/* первое правило задано для тех брайзеров,
которые не понимают css3 и соответственно
не могут работать с несколькими фонами, */
background-position:top left;
background-position:top left, bottom right, 0 0, 0 0;
}
/* 3 размера кнопок */
.button.big { font-size:30px;}
.button.medium { font-size:18px;}
.button.small { font-size:13px;}
/* создадим и закругленную кнопочку */
.button.rounded{
-moz-border-radius:4em;
-webkit-border-radius:4em;
border-radius:4em;
}
/* Синяя кнопка */
.blue.button{
color:#0f4b6d !important;
border:1px solid #84acc3 !important;
/* фон на случай сбоя в загрузке картинки */
background-color: #48b5f2;
/* Зададим градиент + фон */
background-image: url('button_bg.png'), url('button_bg.png'),
-moz-radial-gradient(center bottom, circle,
rgba(89,208,244,1) 0,rgba(89,208,244,0) 100px),
-moz-linear-gradient(#4fbbf7, #3faeeb);
background-image: url('button_bg.png'), url('button_bg.png'),
-webkit-gradient( radial, 50% 100%, 0, 50% 100%, 100,
from(rgba(89,208,244,1)), to(rgba(89,208,244,0))),
-webkit-gradient(linear, 0% 0%, 0% 100%,
from(#4fbbf7), to(#3faeeb));
}
.blue.button:hover{
background-color:#63c7fe;
background-image:url('button_bg.png'), url('button_bg.png'),
-moz-radial-gradient( center bottom, circle,
rgba(109,217,250,1) 0,rgba(109,217,250,0) 100px),
-moz-linear-gradient(#63c7fe, #58bef7);
background-image:url('button_bg.png'), url('button_bg.png'),
-webkit-gradient( radial, 50% 100%, 0, 50% 100%, 100,
from(rgba(109,217,250,1)), to(rgba(109,217,250,0))),
-webkit-gradient(linear, 0% 0%, 0% 100%,
from(#63c7fe), to(#58bef7));
}
Вы спросите: – А где button_bg.png, который использован в css файле?
А взять его можно в готовом архиве с примером

Разработка интернет-магазинов, скриптов, SEO и повышение конвертации. Менеджмент онлайн проектов.
Ronnie
16 Mar, 2011
Спасибо!
Отличные кнопки получились.