select打造全兼容各浏览器select

2019-09-09 郑州网站建设  

我们知道select标签在各个浏览器中的属性和各浏览器的支持各有些不同,从而造成select选择框在各浏览器的显示有不同,下面我们通过对主要外形CSS属性的支持,打造全兼容select。 
我对select的height、padding、line-height分别利用控制变量的办法写了个DEMO在各浏览器上测试三种情况:height.100.padding.0、height.no.padding.100、no.height.no.padding,结果如 链接图片各浏览器DEMO外观 
 
我们可以得出以下研究属性。 

   

ie6

 

ie7

 

ie8

 

ie9

 

ff

 

ch

 

sf

 

op

 

默认高度

 

22px

 

22px

         

19px

 

20px

 

19px

 

19px

 

height

 

F

 

T

 

T

 

T

 

T

 

T

 

F

 

T

 

padding

 

F

 

F

 

T

 

T

 

T

 

T

 

F

 

T

 

line-height

 

F

 

F

 

F

 

F

 

F

 

F

 

T

 

F

 

文字垂直居中

 

T

 

T

 

T

 

F

 

F

 

T

 

T

 

T

 


通过上述的研究成果属性汇总,我们知道IE6是无论怎么设置都是固定高度为22px不变的,而其他浏览器除safari都是支持height属性的,那么我们设置 height:22px。那么现在我们修正一下safari浏览器,,我们发现仅有safari支持line-height属性那么正好可以利用line-height修正其高度为22px,在font-size为12px的前提下设置 line-height:22px,最后FF和IE9里面的文字不居中,对其设定 padding:2px 0,我们发现FF和IE9都居中了,但是各个浏览器的select的高度也并没有增加,那么这里有点疑问,在高度设定的情况下,小量数字的padding不增加整体高度? 
下面是全兼容代码示例。 

复制代码

代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> 
<html xmlns=""> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>demo</title> 
<style> 
*{padding:0; margin:0} 
body{font-size:12px} 
select{height:22px; line-height:18px; padding:2px 0} 
</style> 
</head> 
<body> 
<div style="margin-top:20px; margin-left:20px; background:#000"> 
<select> 
<option>演示问题一</option> 
<option>演示问题二</option> 
<option>演示问题三</option> 
<option>演示问题四</option> 
<option>演示问题五</option> 
</select> 
</div> 
</body> 
</html> 


河南郑州做网站首选天择文化,我们专注郑州网站建设网站设计网站制作与开发,是中原地区专业的郑州网络公司,多年来我们一直努力,服务客户数百家,欢迎您的咨询。
本文链接:郑州网络公司http://tzchb.ieyo.com/seo/1493.html转载请标明出处,谢谢合作!
标签:
  • 我们
  • 标签
  • 知道
  • select
  • selectselect