来直接看这个示例:
CSS Code复制内容到剪贴板
.select{margin:0;padding:0;border:1pxsolid#cccccc;float:left;display:inline;}.selectdiv{border:1pxsolid#f9f9f9;float:left;}.select>div{overflow:hidden;}*html.selectdivselect{display:block;float:left;margin:-2px;}.selectdiv>select{display:block;float:none;margin:-2px;padding:0px;}.select:hover{border:1pxsolid#666;}HTML
XML/HTML Code复制内容到剪贴板
<divclass="select"><div><select><option>看见效果了吧</option><option>看见效果了吧</option><option>看见效果了吧</option></select></div><div>看演示吧
demo
然后介绍一下全兼容select的写法
先看下select属性表
通过上述的研究成果属性汇总,我们知道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不增加整体高度?
下面是全兼容代码示例。
CSS Code复制内容到剪贴板
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><metahttp-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:2px0}</style></head><body><divstyle="margin-top:20px;margin-left:20px;background:#000"><select><option>演示问题一</option><option>演示问题二</option><option>演示问题三</option><option>演示问题四</option><option>演示问题五</option></select></div></body></html>demo