Возможно ли такое использование 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 (не процентная ширина) и правый столбец, который расширяется, чтобы заполнить ОСТАЛЬНОЕ ПРОСТРАНСТВО на линии. Звучит довольно просто, не так ли? Кроме того, поскольку ничто не "плавает", высота родительского контейнера должным образом расширяется, чтобы охватить высоту содержимого.
- НАЧАТЬ RANT -
Я видел реализации "ясного исправления" и "святого грааля" для многоколоночных макетов с боковым столбцом фиксированной ширины, и они сосут, и они сложны. Они меняют порядок элементов, используют процентную ширину или используют поплавки, отрицательные поля, а взаимосвязь между атрибутами "слева", "справа" и "маржа" является сложной. Кроме того, макеты чувствительны к субпикселю, поэтому добавление даже одного пикселя границ, отступов или полей разбивает весь макет и отправляет целые столбцы на следующую строку. Например, ошибки округления являются проблемой, даже если вы попытаетесь сделать что-то простое, например, поместите 4 элемента в строку, каждая из которых будет равна 25%.
- КОНЕЦ RANT -
Я пробовал использовать "inline-block" и "white-space: nowrap;", но проблема в том, что я просто не могу получить второй элемент, чтобы заполнить оставшееся пространство на линия. Установка ширины на что-то вроде "width: 100% - (LeftColumWidth) px" будет работать в некоторых случаях, но выполнение вычисления в свойстве width не поддерживается.