Проблема выравнивания базовой линии связана с высотой строки по умолчанию для текстовых полей и поля ввода.
input
поля имеют большую высоту по умолчанию для размещения отступов, границы и текста.
Я экспериментировал с вашими фрагментами кода HTML / CSS и разместил мою версию на http://jsfiddle.net/audetwebdesign/EbuJH/
Я добавил несколько цветов фона, отступы и поля для контуров блоков.свойство line-height
, чтобы ваши метки и поля ввода имели одинаковое значение, в моем примере это 2.0.
.field {
clear: left;
padding: 5px 0;
background-color: lightgray;
overflow: auto;
margin-bottom: 5px;
line-height: 2.00; /* Key property */
}
Вы можете настроить высоту строки, чтобы понять, как она работает.
Я протестировал пример в Firefox и IE8, и результаты соответствуют строгому типу документа.
Результат хорошо работает для однострочных меток.Единственным недостатком является то, что многострочные метки могут иметь больший интервал, чем вам нравится.Вы могли бы обойти это, поместив первую строку многострочной метки в промежуток и применив высоту линии только к промежутку, но это дополнительная работа.позиционирование, чтобы мы могли добиться прогресса.