`

三种简洁的Tab导航(网页选项卡)简析

阅读更多

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

 

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

 

<div id="tabs0">
<ul class="menu0" id="menu0">
  <li onclick="setTab(0,0)" class="hover">新闻</li>
  <li onclick="setTab(0,1)">评论</li>
  <li onclick="setTab(0,2)">技术</li>
  <li onclick="setTab(0,3)">点评</li>
</ul>
<div class="main" id="main0">
  <ul class="block"><li>新闻列表</li></ul>
  <ul><li>评论列表</li></ul>
  <ul><li>技术列表</li></ul>
  <ul><li>点评列表</li></ul>
</div>
</div>

 

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

<div id="tabs1">
<div class="menu1box">
  <ul id="menu1">
   <li class="hover" onmouseover="setTab(1,0)"><a href="#">新闻</a></li>
   <li onmouseover="setTab(1,1)"><a href="#">评论</a></li>
   <li onmouseover="setTab(1,2)"><a href="#">技术</a></li>
   <li onmouseover="setTab(1,3)"><a href="#">点评</a></li>
  </ul>
</div>
<div class="main1box">
  <div class="main" id="main1">
   <ul class="block"><li>新闻列表</li></ul>
   <ul><li>评论列表</li></ul>
   <ul><li>技术列表</li></ul>
   <ul><li>点评列表</li></ul>
  </div>
</div>
</div>

 

 

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

 

function setTab(m,n){
var tli=document.getElementById("menu"+m).getElementsByTagName("li"); /*获取选项卡的LI对象*/
var mli=document.getElementById("main"+m).getElementsByTagName("ul"); /*获取主显示区域对象*/
for(i=0;i<tli.length;i++){
  tli[i].className=i==n?"hover":""; /*更改选项卡的LI对象的样式,如果是选定的项则使用.hover样式*/
  mli[i].style.display=i==n?"block":"none"; /*确定主区域显示哪一个对象*/
}
}

 

 

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

 

<div id="tabs2">
<div class="menu2box">
  <div id="tip2"></div>
  <ul id="menu2">
   <li class="hover" onmouseover="nowtab(2,0)"><a href="#">新闻</a></li>
   <li onmouseover="nowtab(2,1)"><a href="#">评论</a></li>
   <li onmouseover="nowtab(2,2)"><a href="#">技术</a></li>
   <li onmouseover="nowtab(2,3)"><a href="#">点评</a></li>
  </ul>
</div>
  <div class="main" id="main2">
新闻内容
</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" />
<title>简洁Tab</title>
<style type="text/css">
<!--
body,div,ul,li{
 margin:0 auto;
 padding:0;
}
body{
 font:12px "宋体";
 text-align:center;
}
a:link{
 color:#00F;
 text-decoration:none;
}
a:visited {
 color: #00F;
 text-decoration:none;
}
a:hover {
 color: #c00;
 text-decoration:underline;
}
ul{
 list-style:none;
}
.main{
 clear:both;
 padding:8px;
 text-align:center;
}
/*第一种形式*/
#tabs0 {
 height: 200px;
 width: 400px;
 border: 1px solid #cbcbcb;
 background-color: #f2f6fb;
}
.menu0{
 width: 400px;
}
.menu0 li{
 display:block;
 float: left;
 padding: 4px 0;
 width:100px;
 text-align: center;
 cursor:pointer;
 background: #FFFFff;
}
.menu0 li.hover{
 background: #f2f6fb;
}
#main0 ul{
 display: none;
}
#main0 ul.block{
 display: block;
}
/*第二种形式*/
#tabs1{
 text-align:left;
 width:400px;
}
.menu1box{
 position:relative;
 overflow:hidden;
 height:22px;
 width:400px;
 text-align:left;
}
#menu1{
 position:absolute;
 top:0;
 left:0;
 z-index:1;
}
#menu1 li{
 float:left;
 display:block;
 cursor:pointer;
 width:72px;
 text-align:center;
 line-height:21px;
 height:21px;
}
#menu1 li.hover{
 background:#fff;
 border-left:1px solid #333;
 border-top:1px solid #333;
 border-right:1px solid #333;
}
.main1box{
 clear:both;
 margin-top:-1px;
 border:1px solid #333;
 height:181px;
 width:400px;
}
#main1 ul{
 display: none;
}
#main1 ul.block{
 display: block;
}
/*第三种形式*/
.menu2box{
 position:relative;
 overflow:hidden;
 height:22px;
 width:400px;
 text-align:left;
 background: #FFFFff;
}
#tabs2 {
 height: 200px;
 width: 400px;
 border: 1px solid #cbcbcb;
 background-color: #f2f6fb;
}
#tip2{
 position:absolute;
 top:0;
 left:0;
 height:22px;
 line-height:22px;
 z-index:0;
 width:100px;
 background: #f2f6fb;
}
#menu2{
 position:absolute;
 top:0;
 left:0;
 z-index:1;
}
#menu2 li{
 display:block;
 float: left;
 padding: 4px 0;
 width:100px;
 text-align: center;
 cursor:pointer;
}
-->
</style>
<script>
<!--
/*第一种形式 第二种形式 更换显示样式*/
function setTab(m,n){
 var tli=document.getElementById("menu"+m).getElementsByTagName("li");
 var mli=document.getElementById("main"+m).getElementsByTagName("ul");
 for(i=0;i<tli.length;i++){
  tli[i].className=i==n?"hover":"";
  mli[i].style.display=i==n?"block":"none";
 }
}
/*第三种形式 利用一个背景层定位*/
var m3={0:"",1:"评论内容",2:"技术内容",3:"点评内容"}
function nowtab(m,n){
 if(n!=0&&m3[0]=="")m3[0]=document.getElementById("main2").innerHTML;
 document.getElementById("tip"+m).style.left=n*100+'px';
 document.getElementById("main2").innerHTML=m3[n];
}
//-->
</script>
</head>
<body>
<br />
<br />
<!--第一种形式-->
<div id="tabs0">
 <ul class="menu0" id="menu0">
  <li onclick="setTab(0,0)" class="hover">新闻</li>
  <li onclick="setTab(0,1)">评论</li>
  <li onclick="setTab(0,2)">技术</li>
  <li onclick="setTab(0,3)">点评</li>
 </ul>
 <div class="main" id="main0">
  <ul class="block"><li>新闻列表</li></ul>
  <ul><li>评论列表</li></ul>
  <ul><li>技术列表</li></ul>
  <ul><li>点评列表</li></ul>
 </div>
</div>
<br />
<br />
<!--第二种形式-->
<div id="tabs1">
 <div class="menu1box">
  <ul id="menu1">
   <li class="hover" onmouseover="setTab(1,0)"><a href="#">新闻</a></li>
   <li onmouseover="setTab(1,1)"><a href="#">评论</a></li>
   <li onmouseover="setTab(1,2)"><a href="#">技术</a></li>
   <li onmouseover="setTab(1,3)"><a href="#">点评</a></li>
  </ul>
 </div>
 <div class="main1box">
  <div class="main" id="main1">
   <ul class="block"><li>新闻列表</li></ul>
   <ul><li>评论列表</li></ul>
   <ul><li>技术列表</li></ul>
   <ul><li>点评列表</li></ul>
  </div>
 </div>
</div>
<br />
<br />
<!--第三种形式-->
<div id="tabs2">
 <div class="menu2box">
  <div id="tip2"></div>
  <ul id="menu2">
   <li class="hover" onmouseover="nowtab(2,0)"><a href="#">新闻</a></li>
   <li onmouseover="nowtab(2,1)"><a href="#">评论</a></li>
   <li onmouseover="nowtab(2,2)"><a href="#">技术</a></li>
   <li onmouseover="nowtab(2,3)"><a href="#">点评</a></li>
  </ul>
 </div>
  <div class="main" id="main2">
新闻内容
 </div>
</div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
</body>
</html>

 

分享到:
评论

相关推荐

    非常不错的三种简洁的Tab导航(网页选项卡)简析

    ### 非常不错的三种简洁的Tab导航(网页选项卡)简析 #### 概述 在现代网页设计中,为了提升用户体验与界面美观度,Tab导航(网页选项卡)被广泛采用。它不仅能够帮助用户更高效地浏览网站内容,还能让页面布局更加...

    推荐三种简洁的Tab导航(网页选项卡)简析

    推荐三种简洁的Tab导航(网页选项卡)简析 Tab导航(网页选项卡)是一种常见的网页交互元素,能够帮助用户快速浏览和选择相关信息。在网页中应用选项卡可以使网页显得更紧凑,结合AJAX技术可以使页面在有限的空间内...

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

    本篇文章将重点解析三种简洁经典且高效的`DIV+CSS`制作的Tab导航的实现方法。 一、静态Tab导航 静态Tab导航是最基础的实现方式,通常通过CSS的`display`属性来切换不同Tab的内容显示。在HTML结构中,我们可以创建...

    北斗卫星导航系统应用简析.pdf

    北斗卫星导航系统应用简析 一、 北斗卫星导航系统概述 二、 行业应用领域 三、 企业应用领域 四、 个人应用领域

    简析第三层交换机

    【简析第三层交换机】 第三层交换机是一种融合了传统交换机与路由器功能的网络设备,它在数据链路层(第二层)执行端口交换,并在网络层(第三层)实现部分路由功能。这种结合并非简单的物理组合,而是通过逻辑上的...

    三种论文题目拟定技巧简析.docx

    本文将通过实例介绍三种常见的论文题目拟定技巧。 1. 谦逊慎重型题目 谦逊慎重的题目技巧在于巧妙运用“谦辞”。在中国的文化传统中,谦虚是一种重要的礼仪表现,例如在谈论自己的作品时,我们常自称为“拙作”或...

    毕业论文系列2021-三种论文题目拟定技巧简析.docx

    【毕业论文系列2021-三种论文题目拟定技巧简析】 在撰写毕业论文时,一个恰当的题目至关重要,因为它不仅是论文的“眼睛”,更是引导读者理解论文内容的关键。好的题目能够点明主题,限定研究范围,同时也影响着...

    QSDK(openWRT)网页hostinfo取值简析.pdf

    - 这些负载值可以在网页界面中的hostinfo部分以百分比形式显示。 3. **固件版本信息的获取和显示**: - 固件版本信息的获取涉及到了`luci.version.lua`文件的生成。 - 这个文件是由`mkversion.sh`脚本根据不同的...

    Java中的泛型简析实战.zip

    Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战Java中的泛型简析实战...

    简析搜索引擎中网络爬虫的搜索策略

    ### 简析搜索引擎中网络爬虫的搜索策略 #### 一、引言 随着互联网技术的迅猛发展,网络信息量急剧增加,人们获取信息的方式也在发生着根本性的转变。传统的方法已经无法满足用户对信息的需求,搜索引擎因此...

    简析三种IGBT驱动电路和保护方法

    本文着重介绍三个IGBT驱动电路。驱动电路的作用是将单片机输出的脉冲进行功率放大,以驱动IGBT,保证IGBT的可靠工作,驱动电路起着至关重要的作用,对IGBT驱动电路的基本要求。 本文着重介绍三个IGBT驱动电路。驱动...

    JSJAVA卡片场景能力差异简析.docx

    ### JSJAVA卡片场景能力差异简析 #### 一、引言 随着HarmonyOS的不断发展与完善,开发者们有了更多的选择来构建应用和服务。在HarmonyOS中,卡片作为一种轻量级的应用展示形式,提供了丰富的交互体验。针对不同的...

    嘉世咨询2024休闲食品行业简析报告.pdf

    【嘉世咨询】2024休闲食品行业简析报告.pdf【嘉世咨询】2024休闲食品行业简析报告.pdf【嘉世咨询】2024休闲食品行业简析报告.pdf【嘉世咨询】2024休闲食品行业简析报告.pdf【嘉世咨询】2024休闲食品行业简析报告.pdf...

    嘉世咨询2024智能音箱市场简析报告.pdf

    【嘉世咨询】2024智能音箱市场简析报告.pdf【嘉世咨询】2024智能音箱市场简析报告.pdf【嘉世咨询】2024智能音箱市场简析报告.pdf【嘉世咨询】2024智能音箱市场简析报告.pdf【嘉世咨询】2024智能音箱市场简析报告.pdf...

    STL简析入门基础学习

    STL简析STL简析STL简析基础学习STL简析基础学习STL简析基础学习STL简析基础学习STL简析基础学习STL简析基础学习

    三年级期中质量简析.pptx

    【三年级期中质量简析】的PPT详细分析了学生在这一阶段的学习表现,主要针对小学三年级的数学考试进行了深入的探讨。以下是该文档中提到的一些关键知识点和教学反思: 1. **平均分与及格率**:平均分高达97.39,...

    5G关键材料——第三代半导体材料市场发展简析.pdf

    《5G关键材料——第三代半导体材料市场发展简析》 5G时代的到来,对关键材料提出了新的要求,其中,第三代半导体材料,尤其是氮化镓(GaN)和碳化硅(SiC),因其独特的优越性能,成为了5G通信、新能源汽车、电力...

    简析一种分层次的数据溯源安全模型共11页.pdf

    简析一种分层次的数据溯源安全模型共11页.pdf

Global site tag (gtag.js) - Google Analytics