2013-04-09 2 views
5

В принципе, я хотел бы, чтобы диапазон и элемент ввода занимали одинаковое количество вертикального пространства, чтобы правильно выравнивать текст в двух прямоугольниках. Я могу достичь этого довольно легко, если не плавать элементы. Но как только я добавляю свойство float, некоторые дополнительные пиксели добавляются к высоте входного элемента. И я не могу понять, почему это так.Почему плавающий элемент ввода меняет свою высоту?

И как это исправить?

Эта проблема существует в Safari на iOS 6 и Chrome на рабочем столе. Также происходит в Firefox, но эффекты несколько разные.

Я создал this fiddle, что показывает мою проблему.

<input class='float' value="some text" id='input2'/> 
<span class='float' id='text2'>some text</span><br /> 

input, span { 
    font-family: Helvetica; 
    font-weight: bold; 
    font-size: 15px; 
    line-height: 15px; 
    padding: 0px; 
    border: 0px; 
} 

input { 
    text-align: right; 
} 

.float { 
    float: right; 
} 
+1

Не плавающая промежуток фактического удаления от его высоты? Все равно 17, но плавающий пролет равен 15. – dewyze

+0

Правда! Хорошо наблюдаемый! Изменено название. – oligofren

ответ

2

Две вещи. Кажется, что плавающий ввод дает ему 2px margin, который вы можете легко удалить. Если вы сделаете это и удалите атрибут line-height, все, кажется, выровняется по обоим пунктам.

http://jsfiddle.net/cYaa2/4/

input, span { 
    font-family: Helvetica; 
    font-weight: bold; 
    font-size: 15px; 
    padding: 0px; 
    border: 0px; 
} 

input { 
    text-align: right; 
} 

.float { 
    float: right; 
} 

input.float { 
    margin:0px; 
} 
+0

Хм ... Я награждаю вас ответом, так как вы на самом деле ответили, что я спросил. Жаль, что то, о чем я просил, было не тем, о чем я хотел: p Первоначальная проблема была показана на iPhone, и я попытался воспроизвести ее вышеприведенным фрагментом. Но, увы, эти два не были одинаковыми, оказалось. В следующий раз я попытаюсь сделать несколько сложнее, чтобы создать эквивалентный фрагмент, который _actually_, а не просто, похоже, реплицирует проблему. – oligofren

+0

Ха-ха, извините! Если вы зададите новый вопрос, я сделаю все возможное, чтобы ответить на него, но я не так разбираюсь в материалах iPhone. – dewyze

Смежные вопросы