最近的工作中,有很多表单的制作,很多次都碰到复选框与文字对齐的问题,发现在不同的浏览器中,显示各异,显示效果如下
观察发现,IE6、IE7 显示效果基本相同,算是显示比较正常的效果,IE8、safari 和火狐显示效果基本相同,两个文字都偏下,而opera稍偏下。在之前我的解决方法,都是通过文字外面套上另外的标签,等,通过调整input标签和label的html标签来对齐,大概方法即是让input 和label 标签都左浮动,但前提一定是在写页面的时候,文字外面加了label 标签,这种方法应为定义了大量的浮动,还需要清除浮动,才能保证下面页面的正常显示,或者有些人用相对定位等方法,如果文字外面没有套label标签,更没有其他标签呢?经过查找,发现其实还是有很简单的方法就能解决问题
方法一:如果将font-family中的第一个字体设置为Tahoma,则可以实现对齐(Verdana等字体也可以)。次方法来源与 蓝色理想 http://www.blueidea.com/tech/web/2009/6910_3.asp
如果文字外面有label 标签,只要定义input,label {vertical-align:middle} 即可,
注意:因为单选框或是复选框有外边距,所以需要先去除掉他的外边距。
方法二: 定义input 标签vertical-align 属性,调整input 的上下边距,来实现input和文字的水平对齐
.admin_more input{vertical-align: text-bottom; margin-bottom:2px; *margin-bottom:-2px;}
原文:
http://blog.csdn.net/lifen_zhang/article/details/5415768