CSS Styling Buttons Problem with Underlined Text
I ran into the challenge the other day to style a<button> element to make it look like a link (with underline and everything).
Unfortunately, the <button> element does not react to text-decoration: underline;
But according to a discussion at the CSS Creator forum, there is a way out:
I was just messing around with it and for some reason this doesn’t work:
input {text-decoration:underline;}
but this does:
input {text-decoration:underline;float:left;}
and
input{text-decoration:underline;display:block;}
and
input{text-decoration:underline;position:absolute;}Don’t ask me… I can’t explain this one.
Interesting!
I ended up implementing it as display:inline-block; which also works fine. Here is my final rules for styling buttons as links
.clickable, button.tertiary, input.tertiary{
color: #339;
text-decoration: underline;
display: inline-block; /* else underline won't work */
cursor: pointer;
border: none;
background-color: transparent;
font-size: 1em;
padding: 0;
}
.clickable:hover, button.tertiary:hover, input.tertiary:hover{
text-decoration: underline;
color: #669;
}

September 28th, 2009 at 17:03 (GMT-1)
Does this work across all browsers?
It sounds a little hacky…