这里的例子:http: //jsfiddle.net/D7v2Y/
在 firefox/webkit 中这很好用。文本居中。不在 IE10 或 IE9 中
input {
display: block;
box-sizing: border-box;
line-height: 50px;
height: 50px;
padding: 10px;
}
这里发生了什么?如何让文本输入“正确”显示,文本在 IE 中垂直居中?
谢谢!
这里的例子:http: //jsfiddle.net/D7v2Y/
在 firefox/webkit 中这很好用。文本居中。不在 IE10 或 IE9 中
input {
display: block;
box-sizing: border-box;
line-height: 50px;
height: 50px;
padding: 10px;
}
这里发生了什么?如何让文本输入“正确”显示,文本在 IE 中垂直居中?
谢谢!
您需要协调padding
和line-height
。有了box-sizing: border-box
,他们本质上是在为同一个房地产而战。
换句话说,您是在说“将 50px 的行高放入 50px 的总垂直空间中,但也要将其填充 20px”。
line-height
一个简单的解决方案是减少padding
* 2 + line-height
= 50px。或者,如果你想要更多line-height
,减少填充。如果要保持相同line-height
和填充,请将高度增加到 70px。
示例:http: //jsfiddle.net/D7v2Y/11/
input {
display: block;
box-sizing: border-box;
line-height: 30px;
height: 50px;
padding: 10px;
}
我添加了一个字体大小,这似乎可以解决问题:
input {
display: block;
box-sizing: border-box;
line-height: 1.0;
font-size: 20px;
height: 50px;
padding: 10px;
}
有点奇怪......但这似乎是一种方法。
小提琴:http: //jsfiddle.net/audetwebdesign/Y2rd4/
盒子尺寸
我注意到与 Firefox 相比,在 IE10/9 中 box-sizing 属性计算的高度不同。如果省略该属性,则输入字段的呈现方式更加相似。
填充在 IE8 中破坏了它,上帝只知道为什么....
只需删除填充