The reason for this issue is that IE 7 and earlier versions do not support display:inline-block
on a default block
element.
To resolve this, you can:
- Use a default
inline
element (e.g., <span>
) and apply display:inline-block
to it
- Use a default
block
element (e.g. <div>
) and apply display:inline
to it
Since you are using <div>
elements, follow this workaround:
<!--[if lte IE 7]>
<style type="text/css">
.dialog-button, .horizontal-dialog-divider {
display: inline;
}
</style>
<![endif]-->
View the solution here: http://jsfiddle.net/uQUTc/1/
This fix is effective for IE7, but keep in mind that it may not work on IE6 (untestable due to lack of access).
It's worth questioning why you're still coding for IE6 as it's an outdated and non-compliant browser.
Note:
To align the elements, you can use:
.dialog-button, .horizontal-dialog-divider, .dialog-text {vertical-align: middle;}
Check out the alignment solution here: http://jsfiddle.net/uQUTc/3/