一起CSS

当前位置:一起CSS > CSS > 文章正文

纯CSSTab面板/选项卡

Tab面板好象最早出现在网易吧。Tab面板由于能节省很多网页空间、给用户较好的体验,受到很大家的喜爱,所以很快流行起来了。

Tab面板一般都是利用javascript制作的,也应该由javascript制作。现在我们突破常规,用纯CSS来制作一个Tab面板,你可以先点击这里查看效果,怎么样?点击3个链接,有不同的内容切换吧。看看具体的代码:

CSS代码:

*{
 margin:0;
 padding:0;
 list-style:none;
 font-size:12px;
 }
#container{
 width:300px;
 margin:10px auto;
 position:relative;
 border:1px solid #666;
 }
ul{
 width:20px;
 height:100px;
 position:absolute;
 right:5px;
 top:100px;
 }
ul li{
 height:33px;
 }
ul li a{
 display:block;
 width:20px;
 height:20px;
 line-height:20px;
 text-align:center;
 color:#000;
 background:#ccc;
 text-decoration:none;
 }
ul li a:hover{
 color:#fff;
 background:#666;
 }
#wrapper{
 height:300px;
 overflow:hidden;
 }
#a1,#a2,#a3{
 width:300px;
 height:300px;
 }

XHTML代码:

<div id="container">
 <ul>
  <li><a href="#a1">1</a></li>
  <li><a href="#a2">2</a></li>
  <li><a href="#a3">3</a></li>
 </ul>
 <div id="wrapper">
  <div id="a1" style="background:#FF0000">
  </div>
  <div id="a2" style="background:#00FF00">
  </div>
  <div id="a3" style="background:#0000FF;">
  </div>
 </div>
</div>

看了代码之后你明白了其中的原理吗?明白了当然最好,没明白也没关系,继续看。

其实原理就是:固定外面容器#wrapper的大小。给里面的每个子盒子(div)设置一个瞄点(瞄点刚好又是id),最后让链接分别制向这些瞄点。当我们点击链接“2”的时候,这个链接指向瞄点#a2,那么瞄点#a2所在的盒子的顶部就到了容器#wrapper的顶部,它把#a1挤上去了,#a3也还在下面,又由于容器#wrapper有overflow:hidden属性,所以#a1和#a3都不显示。说白了就是3个div在容器#wrapper里上下抽动。

当然这个方法也有不足的地方,比如只能是点击切换,而且要注意容器和子盒子的范围。

这方法来自蓝色理想,并不是我想出来的,很佩服作者能想出这种办法。

查看:2,753 评论:4 标签:

随机日志

已经有 4 条群众意见

  1. wyysf

    唉搞了很久感觉还是不满意
    看到你这里有我下载下来看看!
    现在dw里有spry可以直接做
    由于兄弟js水平太低了
    做不来啊!
    对了十一节快乐啊!青色! 对话

    #1
  2. qingse

    多看几遍就知道了,不难。十一快乐。。。[Comment ID #55 Will Be Quoted Here] 对话

    #2
  3. hayi

    但是在Opera里面没效果 对话

    #3
  4. qingsehayi

    还真没有效果。。。
    因为之前并没有装 Opera ,只在 IE6 、IE7 、FF 测试过。。。 对话

    #4

我要发表意见