Если я запустил это в IE11, то fieldset
остается на ширине 300 пикселей, но в Edge, FF и Chrome он просто расширяется, пока он не поместит весь контент. Есть ли способ сделать это так же, как в Edge, FF и Chrome, так как это происходит в IE11? (идея здесь заключалась в том, что я определяю LabelWidth с одним классом, а общая ширина - с одним, а пользовательский интерфейс только адаптируется).Fieldset разбивает макет в Edge, FF, Chrome, но не на IE11?
Примечание: если вы удалите fieldset
и legend
, он просто работает из коробки во всех браузерах, также если вы замените набор полей на div, он работает?
Я бы предпочел решение, основанное на CSS, без каких-либо изменений в html.
* {
box-sizing: border-box;
}
.Width300 {
width: 300px;
padding: 5px;
}
fieldset {
border: black 1px solid;
}
.Field {
white-space: nowrap;
min-height: 26px;
padding: 1px 0;
}
label {
float: left;
display: inline-block;
}
input,
span {
display: inline-block;
width: 100%;
}
span {
text-overflow: ellipsis;
overflow-x: hidden;
white-space: nowrap;
}
.LabelSize100 .Field {
margin-right: 100px;
}
.LabelSize100 label {
width: 100px;
}
<div class="LabelSize100 Width300">
<fieldset>
<legend>Test</legend>
<div class="Fields">
<div class="Field">
<label>test:</label>
<input type="text" />
</div>
<div class="Field">
<label>test:</label>
<input type="text" />
</div>
<div class="Field">
<label>test2:</label>
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam lectus velit.</span>
</div>
</div>
</fieldset>
</div>
Вы ищете что-то вроде [этого] (https://jsfiddle.net/ro558rg5/)? –
@AlexChar Мне пришлось добавить '.LabelSize100 .Field {margin-right: 100px; } ', но в противном случае оно работает, опубликуйте его как ответ. если в течение нескольких дней не будет лучшего ответа, напишите как ответ! – Peter
Проверьте и обновите ответ альтернативой «margin-right». –