我想在选择框中使文本垂直对齐
|
我想在选择框中垂直对齐文本。我尝试使用
select{
verticle-align:middle;
}
但是它不适用于任何浏览器。 Chrome似乎默认将选择框中的文本与中心对齐。 FF将其顶部对齐,而IE将其底部对齐。有什么办法可以做到这一点?我在UIBinder中使用GWT \的Select小部件。
这是我目前拥有的:
select{
height: 28px !important;
border: 1px solid #ABADB3;
margin: 0;
padding: 0;
vertical-align: middle;
}
谢谢!
没有找到相关结果
已邀请:
16 个回复
芯伶句餐绕
您所需的填充量将取决于字体大小。 提示:如果将字体设置为
,则也将填充设置为
。如果将字体设置为
,也将填充设置为
。 编辑 这些是我认为的选项,因为垂直对齐方式在浏览器中不一致。 A.删除height属性,然后由浏览器处理。这通常对我来说是最好的。
B.添加顶部填充以下推文本。 (在某些浏览器中按下箭头)
C.您可以将字体变大,以尝试使所选高度更好一些。
物崎巩
但是,如果有的话,它将在IE8中将文本推得更远。如果将box-sizing属性设置回border-box,则至少不会使IE8变得更糟(并且FF仍会应用-moz-box-sizing属性)。找到IE的解决方案会很高兴,但我没有屏息。 编辑:消除这个。测试后,它不起作用。但是,对于任何有兴趣的人来说,问题似乎出在FF \ forms.css文件中的内置样式会影响输入和选择元素。有问题的属性是line-height:normal!important。它不能被覆盖。我试过了。我发现,如果删除Firebug中的内置属性,则会得到一个带有合理垂直居中文本的select元素。
嘘伪
社攻取墟槽
这可以非常精确地解决您的问题。唯一的缺点是我正在使用jQuery,并且如果您尚未在项目中使用jQuery,则可能不希望一次性包含js库。 注意:除非绝对必要,否则我建议您不要使用js样式。 CSS始终应该是样式的主要解决方案-认为jQuery(在此特定示例中)为标有“紧急情况下中断”的斧头。 * UPDATE *这是一篇旧文章,由于似乎人们仍然在引用此解决方案,因此我应该指出(如评论中所述),自1.9起,此功能已从jQuery中删除。请查看Modernizr项目以执行功能检测,以代替浏览器嗅探。
蹄渭信妥扳
才改隘瘁
蜗仓馈
蹄渭信妥扳
注意-我的SELECT元素使用较小的字体10px。显然,您将需要针对特定的UI上下文相应地调整比例。
棠媳鳖
陈獭
这里是有关此属性的一些文档: http://www.w3.org/wiki/CSS/Properties/line-height http://www.w3schools.com/cssref/pr_dim_line-height.asp
雄鞋谋塘
和
来使用相同的值,但是事实证明在整个跨网中不一致。我目前的方法是像这样将其与padding混合使用。
您也可以将
用作水平值,而不是
+
伐教爸
的CSS
捅瓶啡
会按下右侧的灰色下拉箭头框,这是不希望的。 对我有用的方法是进入检查器,并逐步添加
直到文本居中。这也将减小下拉图标的大小,但也将居中放置,因此不会造成视觉上的干扰。
疏腔傻小雹
钾涎净介
对于父母,您必须给出position:relative。 它会工作。
涸坍饺