#container { margin-left: 100px; position: relative; }
#container label { position: absolute; left: -100px; }
#container input { width: 100%; }
(Вы можете использовать box-sizing
и его специфичные для браузера версии, чтобы убедиться, что границы ввода хорошо совпадают, если это необходимо, и, если вам это нужно в IE6-7, куча дополнительных хаковразместить дополнительные пиксели.)
Для этого необходимо, чтобы размер этикетки был известен.Невозможно сделать так, чтобы она зависела от ширины текстового содержимого label
(то есть 'shrink-wrap') без лишней разметки (которая на самом деле не была бы лучше, чем использование таблиц).
Когда формы жидкой разметки становятся более сложными, чем обычно, вам обычно нужно переходить к таблицам.Традиционное позиционирование CSS не очень хорошо при распределении ширины между фиксированным, жидким и усадочным содержимым.