Рассмотрим примеры создания CSS-кнопок без использования картинок.
Для создания красивых кнопок с градиентом и закругленными углами веб-мастерам приходилось использовать картинки с прозрачными областями или сценарии JavaScript (jQuery).
Также широко применялась техника раздвижных дверей, но данная техника не отличалась гибкостью настроек.
К счастью, современные браузеры стали поддерживать CSS3 и появилась возможность создавать красивые кнопки более естественным путем через стили.
CSS3 позволяет писать элегантный и простой код, который полностью удовлетворяет требованиям дизайнеров. Кроме того, используемые приемы обладают урезанной совместимостью со старыми браузерами — в любом случае будет отображаться кнопка (только без дополнительных рюшечек).
Начнем с основ. Для создания кнопки используется тег button
<button>Щелкни меня</button>
В результате на странице появится серая кнопка, которая не слишком интересна для нас. Давайте ее чуть приукрасим с помощью стандартных проверенных стилей.
<button class="blue-btn">Щелкни меня</button>
button.blue-btn{
background: #2e8ce3;
padding: 7px 30px;
font-size:13px;
font-weight: bold;
color:#fff;
text-align: center;
border:solid 1px #73c8f0;
}
Теперь намного лучше — голубая кнопка с белым текстом смотрится интереснее.
Переходим к более продвинутым приемам. Закруглим уголки у кнопки. Здесь наблюдается очень радостная картина, все современные браузеры, включая IE9, уже поддерживают правило border-radius. На всякий случай еще можно использовать старые стили -moz-border-radius и -webkit-border-radius, как временную меру.
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
Добавим немного градиента. К сожалению, пока придется использовать специфичные теги для отдельных браузеров (Chrome, Firefox, Safari). Для градиента нужно указывать начальные и конечные точки для перехода цветов.
background: -moz-linear-gradient(0% 100% 90deg,#2e8ce3, #73c2fd);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#73c2fd), to(#2e8ce3));
Добавим небольшую белый ободок, чтобы кнопка была более выпуклой.
box-shadow: inset 0 1px 0 0 #fff;
-moz-box-shadow: inset 0 1px 0 0 #fff;
-webkit-box-shadow: inset 0 1px 0 0 #fff;
Новое свойство box-shadow создает эффект тени. В нашем примере мы используем параметр inset, что позволяет добавить белую окантовку шириной в 1 пиксель в верхней части кнопки, но не выходя за пределы границы кнопки.
Для увеличения контрастности добавим темный цвет в нижней части кнопки.
border-bottom-color:#196ebb;
И, наконец, последний штрих. Добавим для красоты тень не только к кнопке, но и для текста внутри кнопки.
text-shadow: 0 -1px 0 #196ebb;
Экспериментируйте со цветами и попробуйте получить другие красивые кнопки в стиле CSS3. Все примеры отлично работают в Google Chrome. В IE9 многие новшества пока не работают. Другие браузеры занимают промежуточное положение между двумя этими браузерами.