你的位置:首页 > 网页设计

[网页设计]ie浏览器下input和select的上下居中问题!!!!


在Google浏览器下的input和select标签里面的文字是根据它的高度自适应上下居中的,而ie浏览器下的input和select里面的文字就不会根据高度自适应上下居中,跟大家分享一下我的解决方法,我也是个小白,还请大神多多提提意见。

先来看一个input的效果

上图中左面的是ie8下面的效果,右边是Google下面的效果,既然ie8中都右的bug我们就必须要去处理他,其实在啊ie中input上下居中还是比较简单的,我们只需要在代码中加入一行line-height=“这里填入的高度要和input的高度一样”,这样的话就可以实现他的上下居中了。

先来看一个select的效果

 

上图中的左面是Google的效果图,右边的是ie8的效果图,我们可以看出来ie下的select没有上下居中,这样就影响到美观的效果,也不利于用户的体验。

这个的解决还是比较麻烦的,一般比较大的门户网站都用了不同的方法去解决他,

其中一个方法是给他加一个padding设置一下上下内边距,给大家来一个效果图

虽然他已经居中了,但是右边的下拉栏也跟着右了一个内边距,显然这不是我们想要的一个结果,

还有一个方法就是在他的外面套一个div,给这个div设置内边距,但是效果是一样的,

显然上面那两种方法不是我们想要的,如果对于页面要求不是很高的话,上面那两种方法既方便还简单,要是对于页面的要求比较高,上面的方法就没有办法用了,还需要一个更好的方法解决那个问题。

这个方式其实是比较麻烦的,在一个div内写一个span和select,这两个标签的宽高必须一样,然后将这两个标签用定位重叠在一起,给select标签设置一个opacity:0,这样这个select标签就彻底隐藏了,我们只能在浏览器中看见一个span框,在这个span中插入一个图片是那个下拉箭头,定位在右边和select中下拉箭头的重合,这样就实现了用span当做一个select来使用,设置span标签的各个属性就方便很多了,我们要将select标签的内容在span中显示出来。

我也不知道这个方法到底可不可以使用,还需要请各位大神多多指教。