30

Why height in Chrome is bigger than Firefox of input

See example here http://jsfiddle.net/jitendravyas/89Msh/1/

select, input, textarea, button {
    font: 99% sans-serif;
}

input, select {
    vertical-align: middle;
}

body, select, input, textarea {
    color: #444444;
}

button, input, select, textarea {
    margin: 0;
}


input, textarea {
    font-family: inherit;

    line-height: 1.5;
}


input {
    border: 0 none;
    font-size: 32px;
    line-height: 1.1;
    margin-right: 29px;
    padding: 3px 3px 0;
    width: 206px;
    border-radius: 7px;
}
CodeBrauer
  • 2,690
  • 1
  • 26
  • 51
Jitendra Vyas
  • 148,487
  • 229
  • 573
  • 852

7 Answers7

62

The problem is essentially line-height.

Chrome sees line-height much like it sees height and Firefox doesn't.

Adding height to the input should solve the problem, though you should be careful that your line-height and height match.

For example: height: 20px; line-height: 20px;.

http://jsfiddle.net/e2agj/1/ - Last example input is the correct one.

mithilatw
  • 908
  • 1
  • 10
  • 29
Joonas
  • 7,227
  • 9
  • 40
  • 65
2

Simply try overflow:hidden on input

Raa Vijay
  • 77
  • 4
1

I usually use padding instead of height to push the total height of the input. Doing so, I do not have to fight around with the different interpretations of Chrome and Firefox.

Patrick Hammer
  • 1,172
  • 14
  • 25
1

I had the same problem and had to combine line-height AND padding to make things work.

0

This should work in Chrome & Firefox on select elements:

height: 20px;
padding: 0;
Ken Herbert
  • 5,205
  • 5
  • 28
  • 37
dh1tw
  • 1,411
  • 2
  • 23
  • 29
0

I had gone throught same input line-height problem across Firefox , Chrome & Opera browsers. So I combined line-height , height and font-size for the appropriate look.

input {                   
        line-height: 45px;
        height: 45px;
        font-size: 45px;
      }
Yash Vekaria
  • 2,285
  • 24
  • 24
0

I think it has to do with the way you styled the font for the input.

select, input, textarea, button {
    font: 99% sans-serif;
}

Each browser has its own rendering for sans-serif, as that is really not a font.

Therefore, without a specific font set, you could expect some inconsistencies.

Jason Gennaro
  • 34,535
  • 8
  • 65
  • 86