标签页效果实现一

本文介绍了一种使用HTML、CSS及JavaScript实现的简单Tab切换效果。通过鼠标悬停在不同的Tab标题上,可以显示对应的内容区域,并隐藏其他内容。文章详细展示了两种不同样式的Tab结构、样式设置以及交互行为。

效果一

2011032611351244.png

结构

  <div class="tab">
    <div class="menu">
      <ul>
        <li id="m1" onmouseover="gettab(1)" class="tabhover">标题一</li>
        <li id="m2" onmouseover="gettab(2)">标题二</li>
        <li id="m3" style="border-right:none" onmouseover="gettab(3)">标题三</li>    
      </ul>
    </div>
    <div class="ctn">
      <div id="c1">此处显示一的内容</div>
      <div id="c2" style="display:none">此处显示二的内容</div>
      <div id="c3" style="display:none">此处显示三的内容</div>
    </div>
  </div>

样式

.tab{ border:1px solid #FF0000; width:296px}
.menu{ font-size:12px}
.menu ul li{ text-align:center; display:block; float:left; height:25px; width:98px; line-height:25px; cursor:pointer; border-right-width:1px; border-bottom-width:1px; border-right-style:solid; border-bottom-style:solid; border-right-color:#FF0000; border-bottom-color:#FF0000}
.menu ul li.tabhover{ border-bottom-style:none; font-weight:bold; color:#FF0000}
.ctn{ padding-top:20px; padding-bottom:20px; padding-left:10px}
.cle{ clear:both; height:0px}

行为

<script type="text/javascript">
    function gettab(i) {
        for (n = 1; n <= 3; n++) {
            var m = document.getElementById("m" + n);
            var c = document.getElementById("c" + n);
            m.className = n == i ? "tabhover": "";
            c.style.display = n == i ? "block": "none";
        }
    }
</script>

注意

tab与li的宽度设置:98*3+2=296


效果二

2011032611372447.png

结构

<div class="tab">
  <div class="menu">
    <ul>
      <li id="m1" onmouseover="gettab(1)" class="tabhover">标题一</li>
      <li id="m2" onmouseover="gettab(2)">标题二</li>
      <li id="m3" onmouseover="gettab(3)">标题三</li>
    </ul><div class="cle"></div>
  </div>
  <div class="ctn">
    <div id="c1">此处显示一的内容</div>
    <div id="c2" style="display:none">此处显示二的内容</div>
    <div id="c3" style="display:none">此处显示三的内容</div>
  </div>
</div>

样式

.tab{ border:1px solid #FF0000; padding-top:20px}
.menu{ border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#FF0000; padding-left:20px; font-size:12px; height:50px; position:relative}
.menu ul{ list-style-type:none; position:absolute; top:24px}
.menu ul li{ text-align:center; display:block; float:left; height:25px; width:50px; margin-right:5px; border:1px solid #FF0000; line-height:25px; cursor:pointer}
.menu ul li.tabhover{ border-bottom-style:solid; border-bottom-width:1px; border-bottom-color:#FFFFFF}
.ctn{ padding-top:20px; padding-bottom:20px; padding-left:10px}
.cle{ clear:both; height:0px}

行为

同上

注意

ul menu的定位设置
top:24=50-25-1

转载于:https://www.cnblogs.com/hidepeng/archive/2011/03/26/1996194.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值