CSS 文本域和按钮对齐不一致解决方案

文字要包含在label标签中,并设置行高,否则文字会与文本框的顶 端对齐。文本框要设置vertical-align:middle;否则文本框与button顶端对齐。button中文字垂直居中,要设置高和行高,行高要小于高。

对input标记设定样式,代码如下:
//HTML 代码

复制代码代码如下:
<form> <input type="text" name="textfield" id="textfield" />
<input type="submit" name="button" id="button" value="提交" />
</form>

//CSS 代码

复制代码代码如下:
#textfield{border:1px solid #000;height:16px;}
#button{background:#FFF;color:#000;border:1px solid #000;height:20px;}

文本域设置高度 16px,按钮高度需要设置 20px。按照 IE 的标准正常对齐,但在 Firefox 中文本域和按钮高度是错开的。

此时通过对 input 标记设定左浮动 (float:left),即可兼容 Firefox,CSS 代码如下:

复制代码代码如下:
#textfield{border:1px solid #000;height:16px;float:left;}
#button{background:#FFF;color:#000;border:1px solid #000;height:20px;float:left;}

当然,可以使用CSS Hack以更有针对性地控制浏览器表现。

CSS 文本域和按钮对齐不一致解决方案