У меня есть контейнер (ширина неизвестна), содержащая четыре divs, следующим образом:
| Div1 | Div2 ............... | .............. Div3 | Div4 |
Самые левые и правые div (Div1/Div4) - фиксированная ширина; что легкая часть.
Ширина Div2/Div3 неизвестна, и я хотел бы избежать установки фиксированной ширины для них, так как в зависимости от содержимого можно быть намного шире, чем другой (поэтому я не могу просто использовать, например, каждый из них 50 % доступного пространства)
Я хотел бы, чтобы ширина Div2/Div3 автоматически вычислялась браузером, а затем, если осталось оставшееся пространство, они должны растягиваться, чтобы заполнить любое оставшееся пространство (неважно, как разделить оставшееся пространство между Div2/div3)
Теперь я приближаюсь к этому:
- Div1 перемещается влево (или абсолютно позиционируется)
- Div4 плавает вправо (или абсолютно позиционируется)
- Div2 имеет левый край, равный ширине Div1 (известный)
- Div3 имеет margin-right, равный ширине Div4 (известный)
Мой вопрос в том, как растянуть Div2 и Div3, чтобы заполнить оставшуюся доступную ширину? Я предполагаю, что одним из вариантов было бы использовать display: table, а другая возможность была бы flex-box. Есть ли альтернативы?
Обновление: Отредактировано для ясности.
Обновление 2: Обратите внимание: я не могу предположить, что Div2 и Div3 должны получить 50% доступного пространства. Это прямо указано в вопросе, но почему-то я получаю ответы на основе этого предположения.