Свежие записи

Популярные статьи

Последние комментарии

Графическое оформление кнопок

25 октября 2009. Рубрики: Рабочие заметки; автор — Княгиня.

Небольшая шпаргалка, как оформить кнопку в виде картинки. Вообще-то для этого есть <input type="image" />, но бывает, что код кнопки находится в недоступном для редактирования файле. И тогда в ход идёт ловкость рук и css.

Этот приём будет работать, если кнопка отличается от других элементов input:

  • у неё есть свой класс или айди;
  • у неё нет класса, общего для других полей формы;
  • она находится в другом контейнере (в другом элементе или в элементе с особым классом или айди).

Если ни одно из этих условий не выполняется, средства css бессильны.

В нашем случае кнопка наделена классом but, а кнопку оформим вот такой ёлочкой: Пример кнопки Пример кода с комментариями:

<form action="">
  <fieldset>
    <legend>Пример кнопки
    <input type="text"/>
    <input class="but" type="submit" value="Отправить" />
  </fieldset>
</form>

<style type="text/css">
	.but{
	  width:30px;/*Ширина картинки*/
	  height:21px;/*Высота картинки*/
	  padding:0 0 0 30px;
	  /*Выталкивает надпись с картинки в ИЕ*/
	  overflow:hidden;
	  /*Обрезает кнопку до указанных размеров*/
	  cursor:pointer;
	  border:none;
	  background:url('button.gif') no-repeat;
	  /*Положить картинку фоном*/
	  color:transparent;
	  /*Делает прозрачной надпись на кнопке в ФФ и Опере*/
	}
    fieldset{
	  padding:50px;
	  border:2px solid #3a5777;
	}
</style>

Результат будет выглядеть так: Пример.

Отзывы (5) на «Графическое оформление кнопок»

Оставить свой отзыв »

  1. Ещё лучше для этого использовать спрайты

    [Ответить на этот комментарий]

    Княгиня — июня 15, 2011 || 12:06

    А чуть подробней об этом можно?

    [Ответить на этот комментарий]

  2. Алексей:

    А еще можно кнопку сделать не просто картинкой, а чтобы она подсвечивалась при наведении, и становилась «вдавленной» при mousedown и снова обычной при mouseup. Естественно, надо делать спрайты. Но способ работает на 2/3 в IE7, потому что он не понимает метода «blur» (IE6 в расчет уже давно не беру :P ).

    [Ответить на этот комментарий]

    Княгиня — сентября 19, 2011 || 10:49

    Я обычно обхожусь ховерностью: кнопка просто «пружинит» при наведении, этого достаточно. Заказчики редко обращают внимание на такие мелочи, а без доп. оплаты я украшательством занимаюсь только для себя или по дружбе.

    [Ответить на этот комментарий]

  3. Алексей:

    Ну в том-то и дело, что по дружбе делаю «шоб красиво» :-)

    Мой способ в том, что кнопка «подсвечивается» на :hover (смещаем спрайт на «подсвеченную» картинку), а при клике на нее смещаем спрайт на вдавленную картинку (псевдоэлемент «:focus»). Вот и всё. Но фишка в том, что, чтобы картинка после клика не осталась вдавленной (фокус-то всё ещё на ней), пишем на кнопке onclick="this.blur();" и тогда кнопка вернется в исходное состояние. Вот здесь IE7 и заваливается.

    [Ответить на этот комментарий]

Есть что сказать? Не молчим!

Используйте теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

Ссылки с комментариев dofollow. Поле «Ваш сайт» — только для персонального сайта/блога комментатора!