30
votes

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;
}
7
try reseting the css property of input, i mean reset margin, padding to 0. try this, i am not sureJaison Justus

7 Answers

62
votes

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.

2
votes

Simply try overflow:hidden on input

1
votes

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.

1
votes

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

0
votes

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.

0
votes

This should work in Chrome & Firefox on select elements:

height: 20px;
padding: 0;
0
votes

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;
      }