Возможна ли такая вещь с использованием CSS и двух встроенных (или любых других) тегов DIV вместо таблицы?
Версия таблицы такая (границы добавлены, чтобы вы могли ее видеть):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<table style="width:100%;">
<tr>
<td style="border:1px solid black;width:100px;height:10px;"></td>
<td style="border:1px solid black;height:10px;"></td>
</tr>
</table>
</body>
</html>
Создает левый столбец с FIXED WIDTH (не в процентах ширины) и правый столбец, который расширяется, чтобы заполнить REMAINING SPACE в строке. Звучит довольно просто, правда? Более того, поскольку ничто не «плавает», высота родительского контейнера должным образом увеличивается, чтобы охватить высоту содержимого.
- НАЧАЛО АРЕНДЫ -
Я видел реализации «clear fix» и «holy grail» для многостолбцовых макетов с боковым столбцом фиксированной ширины, и они отстойные и сложные. Они изменяют порядок элементов, используют ширину в процентах или используют значения с плавающей запятой, отрицательные поля, а отношения между атрибутами left, right и margin являются сложными. Кроме того, макеты чувствительны к субпикселям, поэтому добавление даже одного пикселя границ, отступов или полей нарушит весь макет и отправит перенос столбцов на следующую строку. Например, ошибки округления представляют собой проблему, даже если вы пытаетесь сделать что-то простое, например, поместить 4 элемента в линию с шириной каждого из них, равной 25%.
- END RANT -
Я пытался использовать "inline-block" и "white-space: nowrap;", но проблема в том, что я просто не могу заставить 2-й элемент заполнить оставшиеся пробелы в строке , Установка ширины на что-то вроде «width: 100% - (LeftColumWidth) px» будет работать в некоторых случаях, но выполнение вычисления в свойстве width на самом деле не поддерживается.