Imagine I'm having a DIV
. I want to display it in a row with other divs, so I'm giving it display: inline-block
along with other style definitions in a CSS sheet.
Now Internet Explorer wants to have display: inline;
for the behavior I want.
How do I give Internet Explorer a seperate styling command to overwrite the definition for good browsers, so only IE will have display: inline;
. Due to technical limitations I cannot use <![If IE] -->
-stuff in HTML, I need to stay within the CSS file.
A horrible way to do it is: http://www.webdevout.net/css-hacks
Even though you cannot change the HTML I'd read up on http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
IE actually has quite good support for inline-block - if the element is originally an inline element. So try using a
span
instead of thediv
.You can use selectors like so:
\9
– IE8 and below,*
– IE7 and below,_
– IE6So in your case:
You can simply add this to the rest of the css:
Read my blog post on this.
Update
So in this case, you'd use
To make
inline-block
work on block-level elements in IE7, I frequently add this to my answers:I sure hope what I'm suggesting everywhere actually works :D