css中文本框与按钮对不齐解决方案

我们先对对input标记设定样式,代码如下:

 

html 代码

 

<form> <input type=”text” name=”text1” id=”text1” />

<input type=”submit” name=”button” id=”button” value=”提交” />

</form>

CSS 代码

#text1{border:1px solid red;height:20px;}

#button{background:#FFFFFF;color:blue;border:1px solid #000;height:24px;}

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

 

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

 

#text1{border:1px solid #000;height:20px;float:left;}

#button{background:#FFFFFF;color:#blue;border:1px solid #000;height:24px;float:left;}

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

 

小结:button在高度计算上始终使用了Quirks模式。在Quirks模式下,边框的计算是在元素的宽度内的,而不像标准模式一样计算在外部,所以在text和button上同时设置边框就会得到button的高度比text小的现象。所以文本框要与button按钮对齐,button的高度是要高于文本text的高度的。(button的高度包含边框的高度,而文本框text则不包含边框高度。)

posted @ 2015-10-25 18:54  承景欢颜  阅读(3391)  评论(0编辑  收藏  举报