【发布时间】:2013-05-24 04:11:10
【问题描述】:
我有一个简单的 HTML 表单,只有两个元素——一个文本框和一个提交按钮——需要水平对齐。
按钮有背景图片,我想设置它的值=""。
在 Safari 和 Firefox 中,如果我在元素上设置 line-height,则保持对齐。
然而,在 Chrome 中,这还不够。我必须设置 value=" " (注意空格),或者给它另一个文本值。否则,元素会移动。
这是 HTML 和 css
<form>
<input type="text" id="email" class="textBox" />
<input type="submit" id="submitSubscribe" class="submitButton" value="" />
</form>
.submitButton{
width:30px;
line-height:30px;
background:url('');
}
.textBox{
line-height:30px;
}
#email{
width:146px;
}
这是我的 jsfiddle: http://jsfiddle.net/EmCQJ/5/
有人知道为什么 Chrome 计算对齐方式与 value 属性中的文本与 value 为空时不同吗?在 value 中留出空间对我来说就像是一个 hack 解决方案,但我已经尝试了所有明显的 css 修复程序,但仍然无法让它工作。非常感谢任何输入。谢谢!
【问题讨论】:
-
为按钮设置
font-size可能有帮助... -
在我看来你应该使用
-
您的
submit按钮会很好,如果您明确定义它的height,以传递所有浏览器兼容性。 -
@NOX 这是我的第一个想法,但似乎并没有解决问题。 jsfiddle.net/katiev/EmCQJ/13
-
@Tom 你是对的。为了语义正确,我对自己的代码进行了更改。但同样的格式问题仍然适用。
标签: css forms google-chrome alignment