同样是 <input>,居然对不齐

一直对右上角的搜索输入框和按钮对不齐耿耿于怀。后来怀疑按钮用的 <button> 可能和输入框的 <input> 有仇,于是把按钮也换成了 <input>(仿照百度首页)。不过很悲剧的发现这两个还是对不齐,甚至不同的浏览器里这俩谁大谁小都不一定,简直跟鬼上身一样…一怒之下只好给两个 <input> 指定不同的高度,然后给输入框加上 vertical-align: top 才终于对齐了。真不知道是什么意思,为啥样式属性一样的两个 <input> 会对不齐,难道 type 参数还会影响表现?

真 tmd 见鬼了。

ps. wordpress 文章标题没有代码检查功能啊…一开始写了个 <input>,还真出来个输入框…

ps. 无图无真相啊…这种描述界面的东西还是得配截图才行,换个模板就不知所云了。

聊一聊吧

1条评论

  1. 用 Firebugs 察看两个 <input> 的盒模型,发现 type 不一样的时候处理方式还真不一样。type = text 的时候 height 属性是对文字部分来说的,type = submit 的时候 height 却是对整个 <input> 来说的,所以两个框框要大小一样必然需要不同的的 height,而 submit 的框框要和 text 的框框对齐也就不能用默认的基线对齐了,而要用边框来对,比如上边框。

    ps. 后来很蛋疼的把提交按钮的 <input> 换回了 <button>,视觉效果上没有变化。所以不管是 <input> 还是 <button>,样式的关键是 type…

说点啥呗

您的邮箱地址不会被公开。 必填项已用 * 标注