2013-04-09 13 views
5

Zasadniczo chciałbym, aby rozpiętość i element wejściowy zajmowały taką samą ilość pionowej przestrzeni, aby poprawnie ułożyć tekst w dwóch polach. Mogę to osiągnąć całkiem łatwo, gdy nie poruszam żywiołami. Ale gdy tylko dodaję właściwość float, dodatkowe dodatkowe piksele są dodawane do wysokości elementu wejściowego. I nie mogę dla życia zrozumieć, dlaczego tak jest.Dlaczego przestawianie elementu wejściowego zmienia jego wysokość?

A jak to naprawić?

Ten problem występuje w przeglądarce Safari na iOS 6 i Chrome na pulpicie. Zdarza się również w Firefoksie, ale efekty są nieco inne.

Utworzono this fiddle, który pokazuje mój problem.

<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

nie unosi rozpiętość faktycznie usuwając z jego wysokość? Wszystko ma 17 lat, ale spławiona rozpiętość to 15. – dewyze

+0

True! Dobrze obserwowane! Zmieniono tytuł. – oligofren

Odpowiedz

2

Dwie rzeczy. Wydaje się, że wejście jest płynne, co daje mu margines 2 pikseli, który można łatwo usunąć. Jeśli to zrobisz i usuniesz atrybut line-height, wszystko wydaje się wyrównane w obu przypadkach.

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

Hmm ... udzielam ci odpowiedzi, ponieważ faktycznie odpowiedziałeś na to, o co prosiłem. Szkoda, że ​​to, o co prosiłem, nie było tym, na co chciałem odpowiedzieć: p Pierwotny problem pojawił się na iPhonie i próbowałem go skopiować przez powyższy fragment. Ale niestety, te dwie nie były takie same, okazało się. Następnym razem postaram się nieco utrudnić, by stworzyć odpowiedni fragment kodu, który _przypomina, nie tylko pozornie, replikuje problem. – oligofren

+0

Haha, przepraszam! Jeśli zadasz nowe pytanie, zrobię co w mojej mocy, aby na nie odpowiedzieć, ale nie jestem tak kompetentny w kwestii iPhone'a. – dewyze

Powiązane problemy