Изначальный вопрос был следующий:
Как сделать следующее блоками?
На примере резинового заголовка (две картинки и заголовок между ними, в максимальной ширине, равномерно, как надо, удаляются друг от друга и от краев).
http://jsfiddle.net/DkXcD/
<table width=«100%»><tr>
<td> </td>
<td width='100'><img src='img.png' width='100'></td>
<td><h1 align=«center»>Заголовок</h1></td>
<td width='100'><img src='img.png' width='100'></td>
<td> </td>
</tr></table>
Или. Две колонки, одна из них с фиксированной шириной, другая заполняет всю остальную ширину элемента-родителя.
http://fiddle.jshell.net/b8MMn/show/
<table width=«100%»><tr>
<td width=«200»>Колнка фиксированной ширина</td>
<td>Вторая колонка</td>
</tr></table>
Вариант с display:table мне известен, но это уже почти тоже самое, что и таблицами.
Были предложены такие решения:
Но в данных решениях меня прежде все смущает некоторые вещи:
- (1) Наезд текста на картинки
- (2) Опекание второй колонкой колонки фикс. ширины (http://jsfiddle.net/UMBBt/).
Впрочем, это второе ничего вообще умного не показало.
Кроме все прочего, смещение margin'ами, как и position:absolute; - совсем не есть хорошо.
! Вообще, меня интересует прежде всего, да и в основном вообще, как заставить блок забивать всю оставшуюся ширину (при float:left, разумеется) на странице вообще или в родительском элементе.