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

我们可以得出以下研究属性

通过上述的研究成果属性汇总,我们知道IE6是无论如何设置都是固定高度为22px不变 的,而其他浏览器除safari都是支持height属性的,那么我们设置height:22px。那么现在我们修正一下safari浏览器,我们发现仅 有safari支持line-height属性,那么正好可以利用line-height修正其高度为22px,在font-size为12px的前提下 设置line-height:18px,这样在safari中select选择框的高度也是22px。最后FF和IE9里面的文字不居中,对其设定 padding:2px0,我们发现FF和IE9都居中了,但是各个浏览器的select的高度也并没有增加,那么这里有点疑问,在高度设定的情况下,小量数字的padding不增加整体高度?这样设置后,这几个浏览器中select的高度都是22px了。
下面是全兼容代码示例。
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <title>无标题文档</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>
select在各个浏览器中的兼容性问题的更多相关文章
- cssRules在不同浏览器中的兼容性
		
在一份HTML文档中可以用三种方式添加样式信息: 1.通过<link>元素引用外部样式表: 2.通过<style>元素在文档的头部添加样式信息: 3.在具体的文档元素上通过st ...
 - 解决td标签上的position:relative属性在各浏览器中的兼容性问题
		
在css中的position属性规定了页面元素的定位类型,它有以下几个值: absolute:绝对定位,相对于static以外的第一个父元素进行定位: fixed:生成绝对定位的元素,相对于浏览器窗口 ...
 - js在IE浏览器和非IE浏览器中的兼容性问题
		
下面列出IE和非IE中常见的一些js兼容性问题. //window.event IE:有window.event对象 非IE:没有window.event对象.可以通过给函数的参数传递eve ...
 - 【转】DataURL在Web浏览器中的兼容性总结
		
IE8+,Firefox,Chrome,Opera,Safari 等现代浏览器普遍支持data URL IE8 data URL 最大长度限制为32k字节,超出无效.IE9+没有这个限制 IE只识别b ...
 - CSS - Select 标签在不同浏览器中的高度设置
		
当使用Select标签时,在不同浏览器中显示的高度不同,如何解决此问题: 解决方法链接:http://stackoverflow.com/questions/20477823/select-html- ...
 - firefox浏览器中 bootstrap 静态弹出框中select下拉框不能弹出(解决方案)
		
问题出现场景1: 在firefox浏览器中在bootstrap弹出的modal静态框中再次弹出一个静态框时 select下拉框不能弹出选项 解决方案:去掉最外层静态框的 tabindex=" ...
 - [转]IE、FireFox、Chrome浏览器中关于URL传参中文乱码,解决兼容性问题!
		
原文地址:https://cloud.tencent.com/developer/article/1334736 前台用url传值中文,后台用request.getParameter接收参数.在Fir ...
 - IE6中常见兼容性问题及浏览器显示难题
		
1.双倍边距Bug 问题描述:假如有一个ul,里面有若干li,当li设置为左浮动时,此时设置li的margin-left为10px,会在最左侧呈现双倍情况.即20px 正常显示: IE6显示: 修正方 ...
 - 表单input按钮在各浏览器之间的兼容性
		
从网上看了这篇关于表单input按钮的浏览器兼容性问题,总结的还不错,所以copy下来学习下. input按钮在各个浏览器之间的兼容性问题,看下边这段代码: input.item { backgrou ...
 
随机推荐
- 通过yeelink平台监控树莓派CPU温度变化
			
通过yeelink平台监控树莓派温度,是很多派友入门第一课.作为一名刚入手树莓派裸机不久的新手,在没有其他硬件支持的情况,通过yeelink平台来监控树莓派CPU温度变化,也是我学习树莓派.学习智能硬 ...
 - javascript 的基础笔记
			
新手入門: alert的使用: 在alert中\xB0可以输出温度(centigrade)的符号,\xNN可以输入一些不能输入的特殊字符,NN是两个十六进制数,表示字符在latin-1 字符集中的 ...
 - 【转】HTML网页中插入视频各种方法
			
现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE ...
 - Hbase系统架构
			
HBase 系统架构 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列 ...
 - LoadRunner 接口测试
			
Action1() { int i; lr_rendezvous("rend"); lr_start_transaction("get"); ;i<;i+ ...
 - java Clone使用方法详解
			
java"指针" Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念.并且由于Java不能 通过 ...
 - POJ 1008  Maya Calendar
			
链接:http://poj.org/problem?id=1008 Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Subm ...
 - 浅谈C++多态性
			
本文转载至http://blog.csdn.net/hackbuteer1/article/details/7475622 总结: (1)区分概念: 重载----同一个类中,相同的函数名字,不同 ...
 - Liferay 6.2 改造系列之十五:修改默认可用语言
			
在/portal-master/portal-impl/src/portal.properties文件中,有如下配置: # # Specify the locales that are enabled ...
 - hdu 并查集分类(待续)
			
hdu 1829 A Bug's Life 题目大意: 给你n个动物,输入m行a,b,表示a和b应该是异性的,要你判断是否有同性恋. 并查集中,1到n代表应性别,n+1到2n代表一个性别,合并一下,判 ...