Кнопка на CSS3

Любой, уважающий себя web - мастер старается идти в ногу со временем. О CSS3 и HTML5 довольно
много встречается информации на просторах интернета. Некоторые продвинутые мастера уже
искусно внедряют в свои проекты последние уникальные достижения CSS3.

Ремонт компьютеров | Спутниковые антенны
                             Web-дизайн

 

Главная Статьи Для веб мастеров Кнопка на CSS3

28.01.2011

Кнопка на CSS3

Делаем градиентные кнопки средствами CSS3
 

Любой, уважающий себя web - мастер старается идти в ногу со временем. О CSS3 и HTML5 довольно много встречается информации на просторах интернета. Некоторые продвинутые мастера уже искусно внедряют в свои проекты последние уникальные достижения CSS3. Правда, не все браузеры поддерживают нововведения. И один из таких – это всеми «любимый» IE, который ни как не хочет воспринимать ни тени, ни закругленные уголки … . И в этом случаи при создании сайтов приходится идти на всевозможные извращения, что бы достичь совместимость с разными веб - обозревателями.

Сегодня речь пойдёт о градиентных кнопках для web ресурсов, сделанных без использования картинок и фотошопа, то есть, исключительно средствами CSS3.

градиентные кнопки средствами CSS3

Посмотреть пример

Итак, самые важные свойства нашей кнопки:

Масштабируемость (в зависимости от наполнения текстом и размера шрифта)
Функциональность (присутствуют все основные состояния кнопки – нормальное, при наведении, активная)
Почти полная совместимость (не зависимо от браузера, кнопки выглядят прилично, хотя и не так как хотелось бы.
    В этом Вы сами сможете убедится.)
Гибкость (готовые стили легко применяются и к другим элементам)

Необходимые свойства CSS3 для созднаия кнопок:

box shadow - создании тени вокруг объекта,
text shadow – придаёт тень тексту,
rounded corners - создании закругленных углов.

Структура HTML

<a href="#" class="button button-blue">
<span>Button</span>
</a>

CSS


.button
{
margin: 10px;
text-decoration: none;
font: bold 1.5em 'Trebuchet MS',Arial, Helvetica; /*Change the em value to scale the button*/
display: inline-block;
text-align: center;
color: #fff;

border: 1px solid #9c9c9c; /* Fallback style */
border: 1px solid rgba(0, 0, 0, 0.3); 

text-shadow: 0 1px 0 rgba(0,0,0,0.4);

box-shadow: 0 0 .05em rgba(0,0,0,0.4);
-moz-box-shadow: 0 0 .05em rgba(0,0,0,0.4);
-webkit-box-shadow: 0 0 .05em rgba(0,0,0,0.4);

}

.button, .button span
{
-moz-border-radius: .3em;
border-radius: .3em;
}

.button span
{
border-top: 1px solid #fff; /* Fallback style */
border-top: 1px solid rgba(255, 255, 255, 0.5);
display: block;
padding: 0.5em 2.5em;

/* The background pattern */

background-image: -webkit-gradient(linear, 0 0, 100% 100%, color-stop(.25, rgba(0, 0, 0, 0.05)), color-stop(.25, transparent), to(transparent)),
-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(0, 0, 0, 0.05)), color-stop(.25, transparent), to(transparent)),
-webkit-gradient(linear, 0 0, 100% 100%, color-stop(.75, transparent), color-stop(.75, rgba(0, 0, 0, 0.05))),
-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.75, transparent), color-stop(.75, rgba(0, 0, 0, 0.05)));
background-image: -moz-linear-gradient(45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%, transparent),
-moz-linear-gradient(-45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%, transparent),
-moz-linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.05) 75%),
-moz-linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.05) 75%);

/* Pattern settings */

-moz-background-size: 3px 3px;
-webkit-background-size: 3px 3px;
}

.button:hover
{
box-shadow: 0 0 .1em rgba(0,0,0,0.4);
-moz-box-shadow: 0 0 .1em rgba(0,0,0,0.4);
-webkit-box-shadow: 0 0 .1em rgba(0,0,0,0.4);
}

.button:active
{
/* When pressed, move it down 1px */
position: relative;
top: 1px;
}

Синяя кнопка


.button-blue
{
background: #4477a1;
background: -webkit-gradient(linear, left top, left bottom, from(#81a8cb), to(#4477a1) );
background: -moz-linear-gradient(-90deg, #81a8cb, #4477a1);
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#81a8cb', endColorstr='#4477a1');
}

.button-blue:hover
{
background: #81a8cb;
background: -webkit-gradient(linear, left top, left bottom, from(#4477a1), to(#81a8cb) );
background: -moz-linear-gradient(-90deg, #4477a1, #81a8cb);
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#4477a1', endColorstr='#81a8cb');
}

.button-blue:active
{
background: #4477a1;
}

Совместимость с различными web обозревателями:

Firefox 3.6 и старше – кнопки отображаются так как были задуманы со всеми тонкостями, но притормаживает градиент a:hover.
Google Chrome, Safari (Webkit) – проблем не обнаружено, в общем, результат отличный.
Opera 11 – к не счастью, проблема с градиентом, но зато закругленные углы интерпретируются как положено.
Internet Explorer 6-8 – как и ожидалось, проблема с закругленными углами. Градиент присутствует.
Internet Explorer 9 – обстановка несколько лучше, но не так, как в Chrome.
 

Ну, вот и все. Использовать новые достижения CSS3 или обходиться По-старинке графическими элементами от ныне решать Вам.

Хотите идти в ногу со временем - изучайте возможность CSS3, не пожалеете.

CSS3 и HTML5 это реальное будущее, которого не стоит избегать.



Последние статьи по теме: Для веб мастеров

Seo анализ сайта Яндекс цитирования
© 2010-2018 «ITnotebook»
Ремонт компьютеров, Web дизайн, Спутниковые антенны



скачать программы бесплатно