Я оформляю форму, используя таблицу со столбцами фиксированной ширины, и я хочу, чтобы входные элементы внутри <td>
заполняли контейнер. Я знаю блочную модель CSS и знаю, что элементы будут отбрасываться width: 100%
, но проблема заключается в ее согласованности.
<input>
элементы просачиваются, как и ожидалось, но <select>
элементы не проходят. Это приводит к тому, что мои поля не выстраиваются должным образом. Я пробовал все свойства, такие как переполнение, отображение, пробелы ... это не имеет никакого значения. Что с элементом <select>
? В Firebug я вижу, что они имеют одинаковые свойства блочной модели с элементом input, но они не отображают одно и то же.
Я использую тип документа HTML 5, и это происходит как в Firefox, так и в Chrome.
Прямо сейчас я исправляю это с помощью функции JS, которая выбирает все элементы с классом stretch и вычисляет и устанавливает статическую ширину, чтобы она помещалась внутри контейнера. Это идеально выстраивает элементы формы. (Я должен был исключить <select>
элементы, потому что их ширина уже была в порядке ... странная причудливость.)
Есть ли чистое решение CSS для этого? Я не хотел бы запускать эту функцию каждый раз, когда обновляется часть страницы, как при вызовах AJAX ...