In IE8 if I click exactly on the text-value on a submit button, it doesn\'t get the properties from the input:active CSS selector.
But if I click elsewh
That’s really interesting, I’d never noticed that before. IE9 does the same thing: click on the text, and the :active styles aren’t applied. Click outside the text, and they are.
IE 6 and 7 had a problem where the edges of buttons would be drawn jaggedly if the button had a lot of text. This can be fixed by applying overflow: visible to the button. That doesn’t seem to have any effect on this problem though.
I also tried applying zoom: 1 to give the button layout (although I think form controls already have layout), but that had no effect either.
Unfortunately, it looks like there isn’t a CSS workaround for this issue.
:active selector edit in IE /edit is used to select and style the active link (anchor) element, not input.
Use Javascript to attach on focus event to your button.
you can achieve this by applying input:focus to your input:active selector declaration:
input:active,input:focus{background-color:#000}
applying :active and :focus together are great for ui/ux/etc.... a lot of things.
Great, thanks Albert for mentioning the :focus selector. I was looking for a solution to the 'clickthrough' problem for a couple of hours now, without finding good information.
My problem was a similar one to OP but for a link instead of input button.
Basically, I have a multiline link/button and in IE it was not possible to only use the :active selector on the link to change the button's properties since the span inside the a would not 'shine' through.
Now, I use a:active and a:focus on the a together with onclick="this.blur();" and it works like a charm for my purposes.
Please have a look at my solution on jsFiddle: http://jsfiddle.net/pezzi/UzARF/