2014-09-29 32 views
0

你好我的同胞CSS爱好者。通常情况下,我无法回答CSS问题。输入大于它应该是

在Chrome和IE11中发生错误,Firefox呈现相同大小但截取不同的错误。

我有一个inputfield和一个div充满了文本,他们应该有相同的高度,并应与父母的字体大小。问题在于输入字段比预期的要大。

演示http://jsfiddle.net/7Lg70qc4/

div行为就像我所料,它的高度是font-size + padding * 2,但inputfield比这更大。

由于填充是固定的,我不能将高度设置为em,但字体大小不是。

为什么input大于div

+0

你是指想要绿色的矩形是相同的大小? – starvator 2014-09-29 15:31:52

+0

两者应该是一样的高度,是的。 – Itrulia 2014-09-29 15:33:26

回答

1

你必须定义:first-line伪元素的输入,使你的两个元素相同的高度。

input:first-line { 
    display: inline-block;  
} 

Here你可以找到更多的信息,为什么它的作品。

+0

不,如果你检查'Chrome'或'Firefox'的元素,你会发现'input'仍然是'67px'高度,而不是'58px',因为它应该是 – Enumy 2014-09-29 15:40:31

+0

marian0非常感谢,但这真是一个真正的怪异的行为。 @Enumy如果你申请的属性都是90px高度总共(content-box 58px ) – Itrulia 2014-09-29 15:41:09

+0

@Itrulia这不是问题,问题由'line-height'尝试设置为初始值,你会注意到'input'没有受到它的影响'在chrome和firefox中输入也是一个问题。 – Enumy 2014-09-29 15:45:19