首页 > 网站 > WEB开发 > 正文

三种简洁的经典高效的DIV+CSS制作的Tab导航简析

2024-04-27 14:33:26
字体:
来源:转载
供稿:网友
三种简洁的经典高效的DIV+CSS制作的Tab导航简析

最近做了一个开发感想的网站,想把一些编程中的想法写下来。做网站过程中想做个TAB导航,正好记在这里。也欢迎大家多多访问我的网站。

在网页中应用选项卡可以使网页显得更紧凑,结合Ajax技术可以使页面在有限的空间内展现更多的内容。本文主要介绍几种简洁的选项卡效果的实现(不涉及滑动门和AJAX),附有实例,无图片,兼容性较好,方便大家直接使用。第一种形式: 通过更换显示样式实现,这种很常见,就不多说了。

Css代码收藏代码
  1. <divid="tabs0">
  2. <ulclass="menu0"id="menu0">
  3. <lionclick="setTab(0,0)"class="hover">新闻</li>
  4. <lionclick="setTab(0,1)">评论</li>
  5. <lionclick="setTab(0,2)">技术</li>
  6. <lionclick="setTab(0,3)">点评</li>
  7. </ul>
  8. <divclass="main"id="main0">
  9. <ulclass="block"><li>新闻列表</li></ul>
  10. <ul><li>评论列表</li></ul>
  11. <ul><li>技术列表</li></ul>
  12. <ul><li>点评列表</li></ul>
  13. </div>
  14. </div>

第二种形式: 这种结构比较复杂一些,外面加一个相对层(.menu1box),设置溢出隐藏,将选项卡(#menu1)设为绝对定位,设置层指针为1(z-index:1;),以便可以遮住下主区块(.main1box)1px的高度。设置主区块的边框为1px的黑边,上空白(margin-top)为-1px,使上边框伸到选项卡下。当改变选项卡某项(li)的背景为白色时便可遮住一部分主区块的上边框。这样效果就实现了。

Css代码收藏代码
  1. <divid="tabs1">
  2. <divclass="menu1box">
  3. <ulid="menu1">
  4. <liclass="hover"onmouSEOver="setTab(1,0)"><ahref="#">新闻</a></li>
  5. <lionmouseover="setTab(1,1)"><ahref="#">评论</a></li>
  6. <lionmouseover="setTab(1,2)"><ahref="#">技术</a></li>
  7. <lionmouseover="setTab(1,3)"><ahref="#">点评</a></li>
  8. </ul>
  9. </div>
  10. <divclass="main1box">
  11. <divclass="main"id="main1">
  12. <ulclass="block"><li>新闻列表</li></ul>
  13. <ul><li>评论列表</li></ul>
  14. <ul><li>技术列表</li></ul>
  15. <ul><li>点评列表</li></ul>
  16. </div>
  17. </div>
  18. </div>

第一、二种形式的JS代码:

Js代码收藏代码
  1. functionsetTab(m,n){
  2. vartli=document.getElementById("menu"+m).getElementsByTagName("li");/*获取选项卡的LI对象*/
  3. varmli=document.getElementById("main"+m).getElementsByTagName("ul");/*获取主显示区域对象*/
  4. for(i=0;i<tli.length;i++){
  5. tli[i].className=i==n?"hover":"";/*更改选项卡的LI对象的样式,如果是选定的项则使用.hover样式*/
  6. mli[i].style.display=i==n?"block":"none";/*确定主区域显示哪一个对象*/
  7. }
  8. }

第三种形式: 这也是一种不常用的方式,加一个相对层(.menu2box),利用一个背景层(#tip2)定位,通过改变层的左距离(left)实现效果。

Css代码收藏代码
    1. <divid="tabs2">
    2. <divclass="menu2box">
    3. <divid="tip2"></div>
    4. <ulid="menu2">
    5. <liclass="hover"onmouseover="nowtab(2,0)"><ahref="#">新闻</a></li>
    6. <lionmouseover="nowtab(2,1)"><ahref="#">评论</a></li>
    7. <lionmouseover="nowtab(2,2)"><ahref="#">技术</a></li>
    8. <lionmouseover="nowtab(2,3)"><ahref="#">点评</a></li>
    9. </ul>
    10. </div>
    11. <divclass="main"id="main2">
    12. 新闻内容
    13. </div>
    14. </div>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表