使用 CSS 在文本框中居中文本(垂直)

2022-01-13 00:00:00 textbox html css

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

I'm currently working with a textbox that has a background. I was wondering if it's possible to center text (vertically) inside the textbox.

重要:它在 Firefox 中完美居中.只有 IE 由于某种原因它写得太高了.我试过行高、填充和边距.没有任何效果.有什么想法吗?

important: it's perfectly centered in firefox. Only IE it writes it too high for some reason. I've tried line-height, padding, and margin. Nothing works. Any ideas?

这是我当前的 CSS.我应该说我已经尝试了 margin-top 方法,但它对我不起作用.另外,正如我所提到的,这仅适用于 IE.我有 IE 特定的样式表,所以不用担心.

This is my current CSS. I should say that I've tried the margin-top method and it didn't work for me. Also, as I mentioned, this is only for IE. I have IE specific style sheets so no worries.

.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,我有以下内容:

For IE, I have the following:

.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>

谢谢,阿米特

推荐答案

我想知道你如何能够对齐文本框中的文本,但既然你说,这里是建议:

对于白痴 IE,你可以使用这个 IE 特定的 hack:

For idiot IE, you can use this IE specific hack:

margin-top:50px; /* for standard-compliant browsers */
*margin-top:50px; /* for idiot IE */
_margin-top:50px; /* for idiot IE */

如果您愿意,您可能想尝试其他类似的属性,而不是 margin-top.

You might want to try other similar properties if you want rather than margin-top.

相关文章