我有一个登录表单,其样式为文本框,提交按钮拉伸到容器大小的100%.这是一个流畅的移动布局,但我的jsbin示例下面有一个固定的容器大小用于演示目的.
在IE7,IE8,FF 4,Safari中 - 所有渲染按钮都比文本框略短.Firebug的布局工具显示宽度为500px的文本框,但提交按钮的宽度为498px.在我的实际例子中,提交按钮是6px skinnier.我怎样才能解决这个问题,以便占用全宽?
更新
我通过在输入上设置固定宽度来做另一个测试.似乎提交按钮不遵循框模型.我使用了100px的宽度,它显示了98px + 2px的边框,而文本框显示100px宽度+ 2px的边框.
所以,我想问题是如何在流畅的布局中处理这个问题?按钮上的-1px左右填充似乎不起作用,并且设计要求按钮上有1px边框!我不得不求助于js吗?
Jro*_*rod 27
由于某种原因,mozilla设置了text类型的输入,-moz-box-sizing:content-box;
但是submit按钮设置为-moz-box-sizing:border-box;
设置以下内容将为您提供FF中的预期渲染.
.login-tb {
border:1px solid red;
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
box-sizing:border-box;
margin: 0;
padding: 0;
width:100%;
}
Run Code Online (Sandbox Code Playgroud)
更新: 添加了Safari和IE8 +支持