当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS实例:精简代码的兼容各浏览器的滑动门

CSS样式表
50个强大璀璨的CSS3/JS技术运用实例
table建站,XHTML建站和DIV建站的不同
根据W3C的CSS3草案翻译的CSS3参考手册
RoundedCornr:生成圆角图片的好用的简单工具
CSS教程:彻底了解haslayout
CSS3的简单又实用的3个属性
CSS教程:-moz-inline-box和-moz-inline-stack
css3阴影属性box-shadow注意事项
css3文本阴影属性text-shadow说明
CSS3的border-radius(圆角)
border边框属性在浏览器中的渲染方式
CSS属性:text-shadow,box-shadow,border-radius
再论清除浮动的空DIV方法
YUI网页布局:自适应宽度的输入框
学习web标准:Web标准中的特殊字符
优化浏览器渲染:将样式表放在页面顶部
优化浏览器渲染:指定图片尺寸
优化浏览器渲染:避免CSS expressions
CSS3 Please:在线生成跨浏览器的CSS3代码
CSS实例教程:制作漂亮的网页表单

CSS样式表 中的 CSS实例:精简代码的兼容各浏览器的滑动门


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 36 ::
收藏到网摘: n/a

截图中效果就是 css滑动门效果,css+div滑动门效果在网页上非常常见,应用范围很广泛,可以减少网页空间的占用,把相同的类别可以归类到一起,用CSS滑动门而实现效果。网上很多CSS+JS滑动门效果都不是很好, 要么太固定了,要么就是内容里面不能再插入DIV标签。这个版本是同事帮我改进的,用起来非常方便。


css+div滑动门效果 (预览页面有两个例子,一个是点击触发事件,一个是鼠标滑过实现效果,onclick 和onmouseover 不同)


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

JS主要的是获取你鼠标点击后,控制该隐藏或该显示的对应层。这样就实现了滑动门效果。
css+div滑动门效果全部代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<style type="text/css">
    *{margin:0;padding:0;}
    body{margin:50px;font-size:12px;color:#666;}
    li{list-style:none;}
    div{width:210px;}
    #tab1 ,#tab2{width:398px;height:34px;border:1px #cfedff solid;border-bottom:0;background:url(images/title.gif) repeat-x;}
    #tab1 ul ,#tab2 ul{margin:0;padding:0;}
    #tab1 li,#tab2 li{float:left;padding:0 30px;height:34px;line-height:34px;text-align:center;border-right:1px #ebf7ff solid;cursor:pointer;}
    #tab1 li.now,#tab2 li.now{color:#5299c4;background:#fff;font-weight:bold;}
    .tablist{width:378px;height:100px;padding:10px;font-size:14px;line-height:24px;border:1px #cfedff solid;border-top:0;display:none;}
    .block{display:block; }
   
</style>
<script type="text/javascript">

function setTab(m,n){
    var menu=document.getElementById("tab"+m).getElementsByTagName("li"); 
    var div=document.getElementById("tablist"+m).getElementsByTagName("div");
   
    var showdiv=[];
    for (i=0; j=div[i]; i++){
      if ((" "+div[i].className+" ").indexOf(" tablist ")!=-1){
       showdiv.push(div[i]);
      }
    }
    for(i=0;i<menu.length;i++)
    {
        menu[i].className=i==n?"now":"";
        showdiv[i].style.display=i==n?"block":"none"; 
    }
}
</script>
<title>CSS中的滑动门效果_365CSS.CN</title>
</head>
<body>
 <div id="tab1">
        <ul>
            <li onmouseover="setTab(1,0)" class="now">第一行</li>
            <li onmouseover="setTab(1,1)">第二行</li>
            <li onmouseover="setTab(1,2)">第三行</li>
            <li onmouseover="setTab(1,3)">第四行</li>
        </ul>
 </div>
    <div id="tablist1">
        <div class="tablist block">
            <span><div>第一行</div></span>
        </div>
        <div class="tablist">
           <span>第二行 </span>
        </div>
        <div class="tablist">
         <span>第三行 </span>
        </div>
        <div class="tablist">
         <span>第四行</span>
        </div>
    </div>
   
   
   
    <br /><br /><br />
    <div id="tab2">
        <ul>
            <li onclick="setTab(2,0)" class="now">第一行</li>
            <li onclick="setTab(2,1)">第二行</li>
            <li onclick="setTab(2,2)">第三行</li>
          
        </ul>
    </div>
    <div id="tablist2">
        <div class="tablist block">
        第一行信息
        </div>
        <div class="tablist">
        <span>第二行</span>
        </div>
        <div class="tablist">
        <span>第三行</span>
        </div>
      
    </div>
</body>
</html>