Оновлення
Оскільки ніхто більше не використовує IE6 та 7, я представляю інше рішення:
вам більше не потрібен злом, оскільки IE8 підтримує його сам
Для тих, хто повинен підтримувати ці браузери з кам'яного віку перед IE8 (Справа не в тому, що IE8 такий старий, теж кашель ):
для облікового запису контролю версій IE використовуйте в <html>
умовному тезі, як заявляє Пол Ірландський, у своєму статті
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"><![endif]-->
<!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]-->
Цим у вас будуть різні класи в html-тегах для різних браузерів IE
Необхідний CSS такий:
.inline-block {
display: inline-block;
}
.lt-ie8 .inline-block {
display: inline;
zoom: 1;
}
Це підтвердиться, і вам не потрібен додатковий файл CSS
Стара відповідь
.frame-header
{
background:url(images/tab-green.png) repeat-x left top;
height:25px;
display:-moz-inline-box; /* FF2 */
display:inline-block; /* will also trigger hasLayout for IE6+7*/
}
/* Hack for IE6 */
* html .frame-header {
display: inline; /* Elements with hasLayout and display:inline behave like inline-block */
}
/* Hack for IE7 */
* + html .frame-header {
display: inline; /* Elements with hasLayout and display:inline behave like inline-block */
}