用CSS和Div美化select样式的简单方法
author:一佰互联 2019-04-21   click:217

来直接看这个示例:

CSS Code复制内容到剪贴板
  1. .select { margin: 0; padding: 0; border:1px solid #ccccccfloatleftdisplayinline; }   
  2. .select div { border:1px solid #f9f9f9floatleft; }   
  3. .select>div { overflowhidden; }   
  4. * html .select div select { display:blockfloatleftmargin: -2px; }   
  5. .select div>select { display:blockfloat:nonemargin: -2pxpadding0px; }   
  6. .select:hover { border:1px solid #666; }   

HTML

XML/HTML Code复制内容到剪贴板
  1. <div class="select">  
  2.     <div>  
  3.         <select>  
  4.             <option>看见效果了吧</option>  
  5.             <option>看见效果了吧</option>  
  6.             <option>看见效果了吧</option>  
  7.         </select>  
  8.     </div>  
  9.     <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复制内容到剪贴板
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  2. <html xmlns="http://www.w3.org/1999/xhtml">   
  3. <head>   
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  5. <title>demo</title>   
  6. <style>   
  7. *{padding:0; margin:0}   
  8. body{font-size:12px}   
  9. select{height:22pxline-height:18pxpadding:2px 0}   
  10. </style>   
  11. </head>   
  12. <body>   
  13. <div style="margin-top:20px; margin-left:20px; background:#000">   
  14. <select>   
  15.     <option>演示问题一</option>   
  16.     <option>演示问题二</option>   
  17.     <option>演示问题三</option>   
  18.     <option>演示问题四</option>   
  19.     <option>演示问题五</option>   
  20. </select>   
  21. </div>   
  22. </body>   
  23. </html>  

demo