Я разрабатываю веб-приложение, которое должно работать как с IE7, так и с Firefox 3.6. Я выкладываю формы с помощью CSS. Формы довольно стандартны. Я хочу, чтобы каждый div (группа данных) в своей строке с метками и параметрами, выстроенными вместе внутри div (в виде строки). Вот CSS, который работает в Firefox:Различия CSS между IE и Firefox: отображение
.data-group
{
/*display: inline-block;*/
vertical-align: top;
padding-top: 5px;
padding-bottom: 5px;
}
.editor-label, .option1, .option2
{
display: inline-block;
/*float: left;*/
}
.editor-label
{
width: 250px;
vertical-align: top;
}
К сожалению, это не работает в IE7. Чтобы добиться такого же эффекта, я должен раскомментировать две прокомментированные строки и прокомментировать встроенный блок на .editor-label, .option1, .option2 selection. К сожалению, это разрывает Firefox ... и это действительно не похоже на то, что нужно делать в любом случае (путь Firefox имеет больше смысла). (Я могу получить этот способ работы в Firefox, если я добавлю «чистый» div, где у меня есть «clear: both» в классе этого класса ... но это похоже на взлома.)
Я пропустил что-то очевидное Вот? Предложения, которые помогут сделать эту работу в обоих браузерах, будут отличными.
Редактировать: Предоставить запрошенный (тривиализованный) HTML.
<div class="data-group">
<div class="editor-label">
<%: Html.CheckBoxFor(model => model.cb1)%>
<%: Html.LabelFor(model => model.label1) %>
</div>
<div class="option1">
<%: Html.TextBoxFor(model => model.tb2)%>
<div class="label"><%: Html.LabelFor(model => model.label2) %></div>
</div>
<div class="validation">
<div><%: Html.ValidationMessageFor(model => model.tb2) %></div>
</div>
</div>
<!-- Repeat many diff. data-groups. -->
<div class="data-group">
<div class="editor-label">
<%: Html.CheckBoxFor(model => model.cb1)%>
<%: Html.LabelFor(model => model.label1) %>
</div>
<div class="option1">
<%: Html.TextBoxFor(model => model.tb2)%>
<div class="label"><%: Html.LabelFor(model => model.label2) %></div>
</div>
<div class="validation">
<div><%: Html.ValidationMessageFor(model => model.tb2) %></div>
</div>
</div>
Не могли бы вы показать нам какой-нибудь HTML-код или предоставить демо? –
Вы должны знать, что 'vertical-align' применяется только к элементам со значением отображения' table-cell'. – You
И я бы предложил комбинацию 'display: table' и' display: table-cell', но это сломалось бы в IE7: http://www.quirksmode.org/css/display.html – You