Html 使用CSS将文本框内的文本(垂直)居中

Html 使用CSS将文本框内的文本(垂直)居中,html,css,textbox,Html,Css,Textbox,我目前正在使用一个有背景的文本框。我想知道是否可以在文本框内将文本(垂直)居中 重要:它完全以firefox为中心。只是因为某种原因写得太高了。我试过线条高度、填充和边距。什么都不管用。有什么想法吗 编辑:这是我当前的CSS。我应该说,我已经尝试了边距上限法,但它对我不起作用。另外,正如我提到的,这只适用于IE。我有特定于IE的样式表,所以不用担心 .textValue { color: black; font-size: 12px; font-family: David, sans-serif

我目前正在使用一个有背景的文本框。我想知道是否可以在文本框内将文本(垂直)居中

重要:它完全以firefox为中心。只是因为某种原因写得太高了。我试过线条高度、填充和边距。什么都不管用。有什么想法吗

编辑:这是我当前的CSS。我应该说,我已经尝试了边距上限法,但它对我不起作用。另外,正如我提到的,这只适用于IE。我有特定于IE的样式表,所以不用担心

.textValue { color: black; font-size: 12px; font-family: David, sans-serif; }
input { width: 110px; padding: 0 2px; padding-right: 4px; height: 20px; border: solid 1px white; margin-bottom: 0px; background: url(../images/contactTextBg.png) no-repeat top right; }
label { float: right; margin-left: 5px; font-size: 13px; }
对于IE,我有以下几点:

.textValue { font-size: 14px; }
至于HTML:

            <tr>
                <td><label for="name">name</label></td>
                <td><input type="text" name="name" id="name" class="textValue" value="" /></td>
            </tr>

名称
谢谢, Amit

我想知道你是如何将文本框中的文本对齐的,但既然你这么说了,建议如下:

对于傻瓜IE,您可以使用此IE特定的黑客:

margin-top:50px; /* for standard-compliant browsers */
*margin-top:50px; /* for idiot IE */
_margin-top:50px; /* for idiot IE */
如果愿意,您可能希望尝试其他类似的属性,而不是
边距顶部

是否尝试过

input {vertical-align: middle;}

我知道这个有点老了,但我也遇到了同样的问题。这里给出的解决方案对我没有帮助,这似乎很奇怪。在我的例子中,是线条高度被设置为“1em”。将行高更改为类似文本框的高度,而不是它所包含的字体大小,这是解决方案。这在Firefox中也会继续发挥预期的作用,等等。

当你说“textbox”时,你的意思是告诉我们你在CSS方面有什么,以便我们可以看看……谢谢你的建议。最后我使用了padding top并将其设置为“input”。这似乎奏效了。谢谢@萨弗雷斯:你介意删除你对IE的讨厌评论吗?恰恰相反,它们不会给你的答案增加任何价值。白痴IE在一篇帖子里发了三次——这让我在读这个答案时感到很烦,我想在stackoverflow上不应该是这样。是的,我试过垂直对齐。我使用填充顶部并将其应用于“输入”选择器来修复它。谢谢你!NP,这是我的第一个猜测,但我以为你说你试过了,但看起来你刚刚试过保证金,对不起;)有趣……我记得我试过
线条高度
,但它不起作用。很高兴它对你有用:)