我在互联网上没有找到关于如何在HTML select 中垂直对齐文字的任何解释。我不想在<option></option>
中对齐文本,因为这并不难。我想对齐<select></select>
。
我查看了Firefox,Opera,Chrome和Internet Explorer等浏览器,默认情况下,文本在Opera和Chrome中都是正确的。在Firefox中,它将是最重要的,在Internet Explorer中它将会走向最低点。
如何在所有浏览器中以相同的方式工作?
答案 0 :(得分:2)
我发现以下css是最简单的方法:
select{
padding-top: 4px;
}
当然你会根据你的字体调整填充值。 您也可以像这样定位它: #SomeID选择{ padding-top:4px; }
那里有更多经验丰富的偷看,但这些是我的两位: - )
干杯
答案 1 :(得分:1)
这是@ShawnBernard的类似答案。
但您需要做的是为表单中的select元素创建特定宽度。完成后,将text-align: center;
添加到选择CSS中并为select元素配置填充。
为选项表单创建CSS,只会使实际的下拉背景更大。
没有简单的方法可以告诉你应该设置多少填充,因为这取决于你想要设置它们的高度以及字体CSS样式。
UPDATE:就像@RajivPingale所说的那样,由于特定的浏览器例程,选项表格不会被采用。因此,此功能不适用于所有浏览器。
答案 2 :(得分:1)
首先,text-align仅适用于块级元素。但 即使您将display:block指定给select和option元素, 文本可能不会居中。原因是浏览器使用 它们用于渲染表单字段和这些例程的内置例程 仅受限于CSS规则。
你可以去jQuery下拉菜单
答案 3 :(得分:0)
是的,垂直对齐中间: - )
示例强>
如果在选项中有“dog,cat,tiger”这样的文字,则第一个选项被选为“dog”但是&lt; select&gt;的高度。设置为34像素但字体大小为12像素,因此您看到文本将比&lt; select&gt;小得多。这就是为什么它将在一个浏览器中对齐到顶部而另一个在底部对齐,而另一个浏览器将在中间对齐。我希望文本在所有浏览器的垂直中间对齐。
以下是显示问题的简单代码
<html>
<body>
<style>
.select{
height:34px;
font-size:12px;
}
</style>
<select class="select">
<option>dog</option>
<option>cat</option>
<option>tiger</option>
</select>
</body>
</html>
答案 4 :(得分:0)
我遇到的唯一可以在Firefox(FF 11)的<select>
标记中垂直对齐文字的解决方案是使用填充:
select.yourclass
{
font-size: 1.1em; /* Size of the text */
height: 41px; /* The height you want the <select> to be */
padding-top: 7px; /* how far from the top you want the text to appear */
}
在上面的代码中,您需要手动计算相关值(或者可能是服务器端或JS)。
这个解决方案唯一的缺点是,在Firefox中,控件中的下拉箭头也会向下移动padding-top
的值,所以它绝不是完美的。
答案 5 :(得分:0)
你必须使用标签来对齐小提琴:http://jsfiddle.net/E7mxq/2/