You have several options for doing this:
Use a background image (works in every browser, but I personally don’t like editing it again and saving the image file for every small detail) CSS:
button {
background: url('some image..');
width: <width of the background image>;
height: <height of the background image>;
...
}
button:hover {
background: url('mouseover image');
...
}
CSS . , , , , , ( , IE, ):
button {
border: solid 1px somecolor;
color: #eee;
border-radius:5px;
-moz-border-radius:5px;
background: -moz-linear-gradient(top, #5E5E5E 0%, #474747 51%, #0a0e0a 51%, #0a0809 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5E5E5E), color-stop(51%,#474747), color-stop(51%,#0a0e0a), color-stop(100%,#0a0809));
}
button:hover {
color: white;
}
, CSS: http://www.colorzilla.com/gradient-editor/
CSS3:
: border, background, color ..