This should be the result you will get after trying this tutorial :



<a class="button" href="#"><span>Bring world peace</span></a>
.clear { /* generic container (i.e. div) for floating buttons */
overflow: hidden;
width: 100%;
}
a.button {
background: transparent url('bg_button_a.gif') no-repeat scroll top right;
color: #444;
display: block;
float: left;
font: normal 12px arial, sans-serif;
height: 24px;
margin-right: 6px;
padding-right: 18px; /* sliding doors padding */
text-decoration: none;
}
a.button span {
background: transparent url('bg_button_span.gif') no-repeat;
display: block;
line-height: 14px;
padding: 5px 0 5px 18px;
}
a.button:active {
background-position: bottom right;
color: #000;
outline: none; /* hide dotted outline in Firefox */
}
a.button:active span {
background-position: bottom left;
padding: 6px 0 4px 18px; /* push text down 1px */
}
Although hardly catastrophic, IE does not return the button to its normal state whenever it's released. To force such behaviour, we need to add a tiny bit of JavaScript to the <a> tag:
<a class="button" href="#" onclick="this.blur();"> … </a>
To submit forms with this type of button, simply add more calls to the button's onclick event.
Note: Make sure the span's vertical padding (5 + 5) and line-height (14) amount to the total height of the button (24). Using a different padding, means setting a different height.
Hopefully you enjoyed this tutorial and can't wait to implement your new kick-ass buttons now. If you have any questions
or suggestions, do let me know at PixlNinja@gmail.com. Also, if you end
up using this technique anywhere, I'd love to see it in action!
Cheers!
– Ben Jacob