网页下拉菜单被select框遮盖的解决方法
导航的下拉菜单被靠近导航的select框遮住了,这个情况只在IE6情况下发生,属于IE6的一个缺陷,先不管多么痛恨IE的种种不是吧,现在网上比较流行的方法目前大致有三种: 1.点击下拉菜单隐藏select //我觉得这个方法不太实用 第二种方法是大家比较认可的,原理是div直接盖不住select 但是div可以盖iframe,而iframe可以盖select, 所以,把一个iframe来当作div的底, 这个div就可以盖住select了,我经过实践,发现还是不那么好用,下面在改进的基础上做了自己的方法,分享如下: function getIE(){ if(navigator.appName == "Microsoft Internet Explorer") { if(navigator.appVersion.match(/7./i)=='7.'|| navigator.appVersion.match(/8./i)=='8.') { //是IE7,不写iframe }else{ //不是,写iframe document.write("<iframe style=\"position:absolute; top:0px; left:0px; width:100px; height:22px; z-index:-1; \"></iframe>"); } } } </script> 源码: Copy to Clipboard引用的内容:[www.veryhuo.com] <div class="loadmenu"><ul class="menu" id="navmenu"> <li><a href="http://www.veryhuo.com/" class="libg">烈火首页</a> <ul> <li><a href="">网站运营</a></li><script>getIE();</script> <li><a href="">WEB 设计</a></li><script>getIE();</script> </ul> </li> <li><a href="" class="libg">网络编程</a> <ul> <li><a href="">操作系统</a></li><script>getIE();</script> <li><a href="">源码下载</a></li><script>getIE();</script> <li><a href="">免费资源</a></li><script>getIE();</script> </ul> </li> <li><a class="libg" href="">站长论坛</a> </li> </ul> </div> CSS样式: Copy to Clipboard引用的内容:[www.veryhuo.com] #navmenu { float:left; list-style: none; height:22px; margin-left:10px; }#navmenu *{float:left; } #navmenu a { float:none; color:#fff; display:block; line-height:22px; } #navmenu a:hover{ background:#eee; } #navmenu li { width:100px; border-right:1px solid #fff; text-align:center; position: relative; height: 22px; } #navmenu li li{ border-right:0;} #navmenu li ul { background:#444; border-bottom:1px solid #fff; width:100px; display:none; position:absolute; top:22px; left:0px; z-index:1000;} #navmenu li:hover ul{ background:#444; display:block; overflow:hidden; } #navmenu li:hover ul li{ width:100%; height:22px; border-top:1px solid #fff;} #navmenu li:hover ul li a{ width:100%; line-height:22px; color:#fff } #navmenu li:hover ul li a span{ } #navmenu li:hover ul li a:hover{ background:#eee; color:#000; } #navmenu li ul:after { clear: both; display: block; font: 1px/0px serif; content: "."; height: 0; visibility:visible; } #navmenu li ul li a { display:block;} * html #navmenu a { height: 1%; } * html #navmenu ul a { height:22px; line-height:22px; overflow:hidden; } * html #navmenu li.iehover li a { float: none; background:#000; color:#fff; } * html #navmenu li.iehover li.iehover a { height:22px; line-height:22px; background:#eee; color:#000; } * html #navmenu li li{ height:22px; border-top:1px solid #fff; } 第三步:编辑CSS样式,实现你想要的页面的样式 总结:这个方法是从整个项目工程优化,CSS样式综合方面考虑的结果,能兼容所有的浏览器,方法也简单明了,引用起来比较方便。如果有朋友想采纳,不明白的地方可以给我留言。 (编辑:ASP站长网) |