Динамические кнопки с использованием 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%;
}
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>
<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>
webmaster:
Добрый день!
8 Ноябрь 2008, 2:25Не нашел контактов на блоге пишу тут. Понравилась Ваша карта. Поделитесь ссылкой где скачать, пожалуйста. Или сами сделали?
admin:
webmaster, вот ссылки:
10 Ноябрь 2008, 11:19Создаем красивую карту сайта
Как сделать: создаем карту блога Wordpress
gps:
Спасибо, отличный пример - только доработать немного под свою страничку и все супер…..
22 Август 2009, 14:04