如何对齐文本框和旁边的图像按钮
2009-08-05 08:22
435 查看
一个文本框旁边一个按钮是很经常用到的网页内容,比如搜索框等等,而如果旁边的按钮使用图像的话,他们竖直方向就很不容易对齐,即使使用vertical-align、padding和margin等都不行(特别是在IE中,Firefox中使用vertical-align还可以)。
例如有如下代码:
其效果是:
解决方案非常简单,上述代码修改为:
这时,在Firefox和IE中的效果分别是:
![](http://learning.artech.cn/uploads/blog-images/ff.gif)
![](http://learning.artech.cn/uploads/blog-images/ie.gif)
可以看到,在Firefox中,如果事先做好的图像和文本框的高度完全一致,那么他们就会完全对齐了;而在IE中,则按钮图像比文本框高一个像素。
因此可以针对IE浏览器稍作调整:
注意,这里在”margin-top”属性前面有一个加号,对于Firefox浏览器,这个属性设置就无效了;而对于IE浏览器,会忽略掉这个加号,因此针对IE浏览器,上面就会存在这1像素的margin了。在这时,在Firefox和IE中的效果分别是:
![](http://learning.artech.cn/uploads/blog-images/ff.gif)
![](http://learning.artech.cn/uploads/blog-images/ie-2.gif)
到这里,在竖直方向经对齐得很好了,水平方向上,在Firefox和IE中,还略有区别,在Firefox中二者紧靠在一起,在IE中,二者之间有一点点间隔。但是水平方向的控制就容易多了,这里就不再细调整了,读者可以自己试验一下。
=================快乐的分割线==============
2009年1月12日 补充:
看来网络的好处也在于它可以长久地被人发现,比如这片文章吧,在我贴出了10个多月以后,橘子 网友留言给出了一个简单而优雅得多的方法解决这个问题。
非常好用,方法是对需要对齐的input元素使用 vertical-align 属性比如:
.nav_r img,.nav_r input,.nav_r select{vertical-align:middle;}
这样确实对得很齐。
例如有如下代码:
1 2 3 4 | <form> <input type="text" name="foo" value="Test Field"/> <input type="image" src="images/button.gif" /> </form> |
解决方案非常简单,上述代码修改为:
1 2 3 4 | <form> <input type="text" name="foo" value="Test Field"/> <input type="image" src="images/button.gif" style="position:absolute" /> </form> |
![](http://learning.artech.cn/uploads/blog-images/ff.gif)
![](http://learning.artech.cn/uploads/blog-images/ie.gif)
可以看到,在Firefox中,如果事先做好的图像和文本框的高度完全一致,那么他们就会完全对齐了;而在IE中,则按钮图像比文本框高一个像素。
因此可以针对IE浏览器稍作调整:
1 2 3 45 | <form> <input type="text" name="foo" value="Test Field"/> <input type="image" src="images/button.gif" style="position:absolute;+margin-top:1px" /> </form> |
![](http://learning.artech.cn/uploads/blog-images/ff.gif)
![](http://learning.artech.cn/uploads/blog-images/ie-2.gif)
到这里,在竖直方向经对齐得很好了,水平方向上,在Firefox和IE中,还略有区别,在Firefox中二者紧靠在一起,在IE中,二者之间有一点点间隔。但是水平方向的控制就容易多了,这里就不再细调整了,读者可以自己试验一下。
=================快乐的分割线==============
2009年1月12日 补充:
看来网络的好处也在于它可以长久地被人发现,比如这片文章吧,在我贴出了10个多月以后,橘子 网友留言给出了一个简单而优雅得多的方法解决这个问题。
非常好用,方法是对需要对齐的input元素使用 vertical-align 属性比如:
.nav_r img,.nav_r input,.nav_r select{vertical-align:middle;}
这样确实对得很齐。
相关文章推荐
- 如何对齐文本框和旁边的图像按钮
- css如何对齐文本框和旁边的图像按钮
- 如何对齐文本框和旁边的图像按钮
- 怎样对齐文本框和图像(image)按钮实现三点一线
- 怎样对齐文本框和图像(image)按钮?
- 如何让表单文本框左边标签文本右对齐---label
- 如何调整UIButton里面的文字位置以及按钮文字右对齐
- 如何让按钮UIButton的文字左对齐?
- iOS上如何让按钮文本左对齐问题
- Android -如何在底部左对齐,中对齐,右对齐三个按钮图片 巧用Relative Layout
- 使用iview如何使左上的添加按钮和右上的搜索框和边框对齐
- 如何使鼠标经过按钮时按钮的图像发生改变
- Qt 按钮菜单如何与按钮右边界对齐,并去掉下拉箭头
- 文本框和按钮对齐
- 如何在文本框输入框里按回车键,光标自动跳转到下一个文本框输入框或者是执行某按钮的提交?
- HTML如何对齐多个表单中的文本框
- 文本框和按钮对齐
- iOS上如何让按钮文本左对齐问题
- 解决在火狐浏览器中文本框和按钮在同行显示不对齐问题