Как к кнопке добавить градиентную заливку?

Влад Мержевич

Тема: Формы
Internet Explorer Chrome Opera Safari Firefox Android iOS
3.0+ 1.0+ 4.0+ 1.0+ 1.0+ 1.0+ 1.0+

Задача

Кроссбраузерно добавить градиент для кнопки с помощью изображения.

Решение

Вначале готовим изображение градиента в графическом редакторе. Ширину картинке достаточно задать 30 пикселов, а высоту — 20–40 пикселов. На рис. 1 показан пример градиента для добавления к кнопке.

Градиент

Рис. 1. Градиент

Добавление картинки к кнопке происходит с помощью свойства background, его значением выступает путь к графическому файлу. Поскольку ширина кнопки зависит от длины текста, т.е. может меняться, следует добавить значение repeat-x, которое повторяет фон по горизонтали (пример 1).

Пример 1. Добавление градиента к кнопке

HTML5CSS 2.1IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>Градиент</title>
  <style>
   .gradient {
    background: #00b8e4 url(images/bg-button.png) repeat-x; /* Цвет фона 
                                                            и путь к файлу с градиентом */ 
    font-size: 9pt; /* Размер шрифта в пунктах */
    height: 30px; /* Высота кнопки */
   }
  </style>
 </head>
 <body> 
  <form action="handler.php">
   <p><input type="button" value="Обычная кнопка">
   <input type="button" class="gradient" value="Кнопка с градиентом"></p>
  </form>
 </body>
</html>

Результат данного примера показан на рис. 2. В стиле вводится свой класс с именем gradient, он добавляется к желаемому тегу <input>.

Вид обычной кнопки и кнопки с градиентом

Рис. 2. Вид обычной кнопки и кнопки с градиентом

Применение свойства background отменяет особенности браузеров и делает кнопку прямоугольной.

HTML по теме

CSS по теме

Не выкладывайте свой код напрямую в комментариях, он отображается некорректно. Воспользуйтесь сервисом cssdeck.com или jsfiddle.net, сохраните код и в комментариях дайте на него ссылку. Так и результат сразу увидят.