Динамические кнопки с использованием CSS

Сегодня рассмотрим способ создания графической кнопки, которая имеет два состояния: “по умолчанию” и “при наведении курсора”. Она может расширяться и сужаться в зависимости от текста, который содержит. Единственное ограничение - высота кнопки, которая ограничена высотой фонового изображения.

Наша кнопка основана на использовании тега <a> с вложенным в него тегом <span>, каждый из которых использует разные части фонового изображения. Для получения возможности растяжки фона при увеличении размера кнопки по горизонтали используется техника “раздвижных дверей“.

CSS:

a.squarebutton{
  background: transparent url('media/square-gray-left.gif') no-repeat top left;
  display: block;
  float: left;
  font: normal 12px Arial; /* Change 12px as desired */
  line-height: 15px; /* This value + 4px + 4px (top and bottom padding of SPAN)
                        must equal height of button background (default is 23px) */

  height: 23px; /* Height of button background height */
  padding-left: 9px; /* Width of left menu image */
  text-decoration: none;
}

a:link.squarebutton, a:visited.squarebutton, a:active.squarebutton{
  color: #494949; /*button text color*/
}

a.squarebutton span{
  background: transparent url('media/square-gray-right.gif') no-repeat top right;
  display: block;
  padding: 4px 9px 4px 0; /*Set 9px below to match value of 'padding-left' value above*/
}

a.squarebutton:hover{ /* Hover state CSS */
  background-position: bottom left;
}

a.squarebutton:hover span{ /* Hover state CSS */
  background-position: bottom right;
  color: black;
}

.buttonwrapper{ /* Container you can use to surround a CSS button to clear float */
  overflow: hidden; /*See: http://www.quirksmode.org/css/clearing.html */
  width: 100%;
}

HTML:

<h4>Single button:</h4>

<div class="buttonwrapper">
<a class="squarebutton" href="#"><span>Dynamic Drive CSS Library</span></a>
</div>

<h4>Side by Side:</h4>

<div class="buttonwrapper">
<a class="squarebutton" href="#"><span>Submit</span></a>
<a class="squarebutton" href="#" style="margin-left: 6px"><span>Reset</span></a>
</div>

Комментариев: 3

  1. webmaster:

    Добрый день!
    Не нашел контактов на блоге пишу тут. Понравилась Ваша карта. Поделитесь ссылкой где скачать, пожалуйста. Или сами сделали?

  2. gps:

    Спасибо, отличный пример - только доработать немного под свою страничку и все супер…..

Оставьте свой отзыв