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

CSS样式表
css 块状元素和内联元素
CSS 盒模型、块状元素与内联元素、CSS选择器
css 浮动 理解Float的含义
CSS 清除浮动Clear
CSS 制作网页导航条(上)
CSS 制作网页导航条(下)
css 浮动(float)页面布局
css 浮动(float)页面布局(下)
css position 定位
css 定位应用实例
CSS Hack 有关浏览器兼容方面
css 单图片按钮实例(css 图片变换)
使用X-UA-Compatible来设置IE浏览器兼容模式
div overflow 超出隐藏属性使用说明
CSS 使用规则总结
div+CSS 兼容小摘
CSS的inherit与auto使用分析
如何组织和注释CSS文件
CSS样式按整洁易懂的结构组织
CSS Prism 查看和编辑CSS中用到的颜色

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 147 ::
收藏到网摘: 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>