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

CSS样式表
CSS:提高网页在浏览器的渲染速度
css网页制作实用技巧9则
思考Web站点设计对类以及id的命名方式
CSS教程:关于网页图片的属性
CSS教程:元素层叠级别及z-index
div css在思路和流程上实现结构与表现的分离
CSS入门教程:网页首字下沉
IE6、IE7和FF的最简单的hack技巧
跨浏览器实现float:center
css技巧:经典CSS使用技巧几则
CSS教程:legend标签设定宽度
网站进行W3C XHTML1.0验证的经验
CSS教程:网页颜色的几种表示
网页CSS背景图片使用的测试结果
CSS网页布局:网页页面结构化
SPAN和DIV,Class与ID的区别汇总
xhtml css网页制作中问题解决的方式
div css与xhtml css是什么意思?
CSS样式表优化更整洁而简短
CSS设计网站导航菜单的优势

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


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