У меня довольно распространенная проблема с макетом, для решения которой я традиционно использовал таблицу, но хотел бы получить несколько советов о том, как это сделать с помощью CSS. У меня есть 3 изображения, которые составляют «контейнер». Левое и правое изображения обычно просто отображаются с использованием тегов, а центральное изображение отображается как «фоновое изображение» с моим содержимым поверх него, так что содержимое отображается в контейнере. Я уверен, что вы видели / использовал это миллион раз:
<table width="100" cellpadding="0"><tr>
<td width="50"><img src="myleftimage" /></td>
<td style="background: url('mymiddleimage');">Content goes here...</td>
<td width="50"><img src="myrightimage" /></td>
</tr></table>
Приятно то, что ширина таблицы всегда равна ширине браузера (или родительского элемента) и среднего столбца, где содержимое имеет динамические размеры, чтобы занимать оставшееся пространство между левым / правым изображениями.
Я хочу воссоздать это с помощью CSS, используя как можно меньше жестко закодированной информации. Вот как то так:
<div style="float:left; width:100%">
<div style="width: 50px;float:left;"><img src="myleftimage" /></div>
<div style="background: url('mymiddleimage');float:left;width:???">Content goes here...</div>
<div style="width: 50px;float:left;"><img src="myrightimage" /></div>
</div>
Это прекрасно работает, примите для среднего div - как мне установить ширину? Прямо сейчас я могу жестко запрограммировать его, скажем, на 92% и т. Д. Но я хочу, чтобы он автоматически заполнял пространство. Можно ли это сделать, используя только CSS?