Нужно сделать, чтобы кнопки в ряд занимали всю ширину .row.
Сейчас они смещены влево и не тянутся на всю ширину, хотя им присвоено свойство display: table-cell;.
Вопрос: почему display: table-cell не работает для инпутов? И можно ли достичь желаемого результата не оборачивая input в дополнительные div?
.row{
display: table;
table-layout: fixed;
width: 100%;
border-spacing: 1px 0;
background-color: #eee;
}
.input{
display: table-cell;
}
<div class="row">
<input class="input" type="button" value="Кнопка 1">
<input class="input" type="button" value="Кнопка 2">
<input class="input" type="button" value="Кнопка 3">
<input class="input" type="button" value="Кнопка 4">
</div>
Нужно переделывать на Flexbox, если количество кнопок неизвестно:
.row {
height: 25px;
display: flex;
flex-direction: column;
flex-wrap: wrap
}
.row input {
page-break-inside: avoid;
break-inside: avoid;
}
<div class="row">
<input class="input" type="button" value="Кнопка 1">
<input class="input" type="button" value="Кнопка 2">
<input class="input" type="button" value="Кнопка 3">
<input class="input" type="button" value="Кнопка 4">
<input class="input" type="button" value="Кнопка 5">
</div>
Или же поставить ширину 25%, если их количество фиксированно:
.row{
display: table;
table-layout: fixed;
width: 100%;
border-spacing: 1px 0;
background-color: #eee;
}
.input{
width: 25%;
/* Убираем влияние padding и border на конечную ширину input */
box-sizing: border-box;
/* Обнуляем margin */
margin: 0;
}
<div class="row">
<input class="input" type="button" value="Кнопка 1">
<input class="input" type="button" value="Кнопка 2">
<input class="input" type="button" value="Кнопка 3">
<input class="input" type="button" value="Кнопка 4">
</div>
Можно заменить display: table на display: flex + добавить свойство для потомков flex-grow: 1.
.row {
display: flex;
width: 100%;
border-spacing: 1px 0;
background-color: #eee;
}
.input {
flex-grow: 1;
}
<div class="row">
<input class="input" type="button" value="Кнопка 1">
<input class="input" type="button" value="Кнопка 2">
<input class="input" type="button" value="Кнопка 3">
<input class="input" type="button" value="Кнопка 4">
</div>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей