Supposedly IE9 supports the display:inherit properly, but apparently it doesn’t apply display from an inline parent element such as a span tag to a block element such as a div, unless the display property is explicitly defined. I made a jsfiddle to demonstrate this behavior:
Compare the difference in IE9 and Chrome or Firefox. If I inspect the elements in IE9 I can see that IE9 thinks it’s applying ‘inline’, but clearly it isn’t. This looks like an IE9 bug. Unfortunately in the problem that I’m trying to fix, specifying display:inline explicitly on these elements is not a viable solution. Is there something I have overlooked or something I can do to get the browser to behave like the other browsers?
I agree.
Adding
span { display: inline }at the start of your stylesheet solves the problem, and I can’t see why adding that is not a viable solution. It makes no difference whatsoever in any other browser.