У меня есть следующий бит кода, который состоит из 3 кнопок:
<div id="button-panel">
<form action="../edit/" method="GET">
<input type="hidden" name="id" value="<?php echo $record->id; ?>" />
<input type="submit" value="Edit" />
</form>
<form action="" method="POST">
<input type="submit" name="cancel_btn" value="Cancel" />
</form>
<input type="button" id="boh-url-gen" value="Generate URL" onClick="generateURL();" />
</div> <!-- button-panel -->
Несмотря на мои усилия, кнопки выравниваются по вертикали в IE7. В настоящее время я применяю следующий CSS:
#button-panel *{display:inline-block;}
Однако он не работает для IE7.
Это просто потому, что display:inline-block
не полностью поддерживается IE7. Ссылка здесь.
Если вам нужна полная поддержка, просто плавайте элементы.
#button-panel {
float:left; /* right */
}
Обратите внимание, что плавающий элемент выталкивает его из потока, поэтому вам может потребоваться добавить что-то вроде overflow:auto
для родителя - при условии, что содержимое сбрасывается, потому что фиксированная height
/width
не заданы.
IE7 не поддерживает display:inline-block
на элементах, которые являются block
умолчанию.
Вместо этого, display:inline
заставляет их вести себя как inline-block
(IE7 настолько странный)
Таким образом, вы можете использовать условные комментарии для создания таблицы стилей для IE7 или IE7 CSS-хаков с display:inline
. Например:
*:first-child+html #button-panel { /* IE7 hack which is valid CSS */
display: inline;
}
(IE7 взломать этот ответ Алоччи)
display:inline
работа ..? Он не имеет одинаковых характеристик элементаinline-block
, поэтому желаемый результат может быть не достигнут.display:inline
ведут себя какdisplay:inline-block