Реальный пиарСоздание сайтовВёрстка → Красивые градиентные кнопки без картинок для всех браузеров

Красивые градиентные кнопки без картинок для всех браузеров

background image

HTML

Рассмотрим HTML для, например, синей кнопки:
<a href="#" class="button button-blue">
<span>Button</span>
</a>

Вложенный <span> используется для добавления текстуры и верхнего белого бордера:


Верхний бордер можно было сделать и с помощью inset box-shadow, но тогда кнопки не подходили бы под понятие graceful degradation. Ниже в статье будет показана разница.
CSS

Для начала рассмотрим общие для всех кнопок (класс button) стили:

.button {
margin: 10px;
text-decoration: none;
font: bold 1.5em 'Trebuchet MS', Arial, Helvetica; /* Изменяйте em для масштабирования кнопки */
display: inline-block;
text-align: center;
color: #fff;

border: 1px solid #9c9c9c; /* Запасной стиль */
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;

/* Фоновый паттерн */

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%);

/* Настройки паттерна */

-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 {
/* Опускаем на 1px при нажатии */
position: relative;
top: 1px;
}


Источник: http://vremenno.net

Рекомендуем



Произвольные элементы DOM как фон сайта Такой способ найдет применение на сайтах, где разработчики и дизайнеры хотят сделать сложный, большой фон, возможно, с JS или Flash-анимации, и при этом хотят, чтобы он корректно работал на всех разрешениях


Кросс-браузерный @font-face Заходим, загружаем шрифт, получаем архив с примером использования и необходимыми типами файлов


Блоки в документах Конечно, для уникально оформленного блока придется создавать уникальный HTML-код, но все же есть достаточно много универсальных приемов, которые встречаются сплошь и рядом