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

第一种形式: 通过更换显示样式实现,这种很常见,就不多说了。

  1. <div id="tabs0">
  2. <ul class="menu0" id="menu0">
  3. <li onclick="setTab(0,0)" class="hover">新闻</li>
  4. <li onclick="setTab(0,1)">评论</li>
  5. <li onclick="setTab(0,2)">技术</li>
  6. <li onclick="setTab(0,3)">点评</li>
  7. </ul>
  8. <div class="main" id="main0">
  9. <ul class="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)的背景为白色时便可遮住一部分主区块的上边框。这样效果就实现了。

  1. <div id="tabs1">
  2. <div class="menu1box">
  3. <ul id="menu1">
  4. <li class="hover" onmouseover="setTab(1,0)"><a href="#">新闻</a></li>
  5. <li onmouseover="setTab(1,1)"><a href="#">评论</a></li>
  6. <li onmouseover="setTab(1,2)"><a href="#">技术</a></li>
  7. <li onmouseover="setTab(1,3)"><a href="#">点评</a></li>
  8. </ul>
  9. </div>
  10. <div class="main1box">
  11. <div class="main" id="main1">
  12. <ul class="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代码:

  1. function setTab(m,n){
  2. var tli=document.getElementById("menu"+m).getElementsByTagName("li"); /*获取选项卡的LI对象*/
  3. var mli=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)实现效果。

  1. <div id="tabs2">
  2. <div class="menu2box">
  3. <div id="tip2"></div>
  4. <ul id="menu2">
  5. <li class="hover" onmouseover="nowtab(2,0)"><a href="#">新闻</a></li>
  6. <li onmouseover="nowtab(2,1)"><a href="#">评论</a></li>
  7. <li onmouseover="nowtab(2,2)"><a href="#">技术</a></li>
  8. <li onmouseover="nowtab(2,3)"><a href="#">点评</a></li>
  9. </ul>
  10. </div>
  11. <div class="main" id="main2">

新闻内容 
</div> 
</div>

三种简洁的经典高效的DIV+CSS制作的Tab导航简析的更多相关文章

  1. 利用DIV+CSS制作网页过程中常用的基本概念及标签使

    CSS主要用于对HTML文件功能的补充及扩展,其作用就是对HTML文件中各种排版进行设置,达到对网页中字体.颜色.背景.图片等的控制,使网页能够完全依照设计者的想法来显示. CSS可以控制网页的显示, ...

  2. 利用DIV+CSS制作网页过程中常用的基本概念及标签使用细节

    CSS主要用于对HTML文件功能的补充及扩展,其作用就是对HTML文件中各种排版进行设置,达到对网页中字体.颜色.背景.图片等的控制,使网页能够完全依照设计者的想法来显示. CSS可以控制网页的显示, ...

  3. DIV+CSS制作二级横向弹出菜单,略简单

    没有使用JavaScript控制二级菜单的显示,结果如上图所示. 代码如下: <!DOCTYPE html> <html> <head> <meta char ...

  4. 纯Div+Css制作的漂亮点击按钮和关闭按钮

    纯Div+Css制作的漂亮点击按钮和关闭按钮,单击点击按钮也有效果.这些都不是图片.

  5. Div+Css制作圆

    Div+Css制作四分之一圆主要是使用Css3.0中的border-radius这个圆角隐藏属性.利用这一属性,我们可以画圆,画半圆,四分之三圆,四分之一圆等.以后我会更新…… 如何使用border- ...

  6. Stack的三种含义 ----超级经典 明白了 栈 的三种含义

    来自:http://www.ruanyifeng.com/blog/2013/11/stack.html ----------------------------------------------- ...

  7. 使用div+css制作简单导航 以及要注意问题

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. DIV+CSS制作斜线效果记录

    DIV+CSS 斜线效果很简单,只需设置一下CSS Border 的边框就能有斜线效果.代码分享给大家,你可以自己变通. 提示要注意两点:1.DIV宽高的定义.2.DIV在 IE6 中默认是有高度的. ...

  9. div+css 制作表格

    <div class="table"> <h2 class="table-caption">花名册:</h2> <di ...

随机推荐

  1. Bzoj2534:后缀自动机 主席树启发式合并

    国际惯例的题面:考虑我们求解出字符串uvu第一个u的右端点为i,第二个u的右端点为j,我们需要满足什么性质?显然j>i+L,因为我们选择的串不能是空串.另外考虑i和j的最长公共前缀(也就是说其p ...

  2. hdu 1073 字符串处理

    题意:给一系列的输出和标准答案,比较二者是AC,PE或WA 字符串处理还是比较薄弱,目前没什么时间搞字符串专题,所以遇到一题就努力搞懂 #include<cstdio> #include& ...

  3. MySQL 集群

    MySQL Galera介绍 主要功能: 同步复制 真正的multi-master,即所有节点可以同时读写数据库 自动的节点成员控制,失效节点自动被清除 新节点加入数据自动复制 真正的并行复制,行级 ...

  4. 快速排序的C++实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. 快速排序的C++实现 int Partition(int a[], int low, int high) { int x = a[high];// ...

  5. python之sys.stdout、sys.stdin

    转自:http://www.cnblogs.com/turtle-fly/p/3280519.html 本文环境:Python 2.7  使用 print obj 而非 print(obj) sys. ...

  6. OpenVPN搭建中tap与tun的实际使用区别

    tap俗称网桥模式,tun俗称路由模式,tap在二层,tun在三层,在实际应用中,其实以上这些知识概念,我是抄来的,具体的解释可以看以下参考链接. 下面将介绍在实际使用中的区别: 1.tap可以直接使 ...

  7. USB2.0 速度识别--区分低速-高速-全速

    USB2.0是向下兼容USB1.X的,即USB2.0支持高速,全速,低速的USB设备 (HIGH-SPEED,FULL-SPEED,LOW-SPEED),而USB1.X不支持高速设备. 因此如果高速设 ...

  8. STM32CubeF4 FreeRTOS Examples don't work correctly with HAL_GetTick

    because the SysTick ISR has been assigned to the FreeRTOS xPortSysTickHandler() function without reg ...

  9. GUN WINDOW 工具

    GNU utilities for Win32 CoreUtils for Windows 或者 完整的 package dd for windows Unix ports - WHICH, TEE ...

  10. win8、server 2012 清除winsxs文件夹

    使用系统自带的文件清理工具 1.组合键win+x ,选择“命令提示符(管理员)” 复制“dism /online /Cleanup-Image /StartComponentCleanup” 到dos ...