I am creating CSS buttons for both links and form submissions. I use almost the same markup for both, with a different wrapper.
HTML Examples:
There's a big stack of issues to consider here.
I'm going to be very verbose with the changes required to fix this.
To cajole it into working in IE6/7, these were my steps:
display: inline-block instead of float for the internals of the button.vertical-align: top.overflow: visible (as per here: IE7 CSS padding issue - cannot figure out), and display: inline.There's also some IE6 specific issues of low priority:
button:hover selector will not work in IE6. IE6 only supports :hover on a elements. To work around this, you can use the Whatever:hover fix..png image, in IE6 there is a grey background instead of transparency; there are fixes available. Though in this case, it's hard to notice. I'd say leave this one be - the extra effort is not worth the improvement.More important is the fact that your current implementation is slightly broken in Firefox:
http://keeleux.com/dev/button/
(screenshot from Firefox 4)
line-height to the internal ems.Note that a fair few of those issues can be worked around by simply using an a instead of a button.