纯CSS实现Tab导航栏切换

效果:

代码:

html:

<div class="main">
    <div id="content1">列表一内容</div>
    <div id="content2">列表二内容</div>
    <ul class="tab">
        <li><a href="#content1">列表一</a></li>
        <li><a href="#content2">列表二</a></li>
    </ul>
</div>

css:

.main{
    position: absolute;
    left: 50%;
    top:30%;
    transform: translate(-50%,-50%);
}
.tab {
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style-type: none;
}

.tab li {
    float: left;
}

.tab li a {
    text-decoration: none;
    color: #000;
    background: #ddd;
    display: inline-block;
    width: 120px;
    height: 40px;
    text-align: center;
    line-height: 40px;
}

#content1,
#content2 {
    display: none;
    width:240px;
    height:100px;
    border:1px solid #ddd;
    position: absolute;
    top:40px;
    padding:10px;
    box-sizing: border-box;
}

#content1:target,
#content2:target {
    display: block;
}
#content1:target ~ .tab li:nth-child(1) a{
    background:skyblue;
    color:#fff;
}
#content2:target ~ .tab li:nth-child(2) a{
    background:skyblue;
    color:#fff;
}

css关键部分:

#content1,
#content2 {
    display: none;
}
#content1:target,
#content2:target {
    display: block;
}
#content1:target ~ .tab li:nth-child(1) a{
    background:skyblue;
    color:#fff;
}
#content2:target ~ .tab li:nth-child(2) a{
    background:skyblue;
    color:#fff;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,826评论 1 92
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,808评论 25 709
  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,672评论 0 30
  • 免费体验产品策略是现在营销中经常用到的,效果颇好。 当用户获得了你的免费赠品,并开始有兴趣了解你时,这时候你很有可...
    滚雪球菲阅读 568评论 0 0
  • 一个概念,无论你智商有多高,如果你脑子里压根就没有这个概念,他就无法对你起任何作用 元知识,元认知,强注意力,分享...
    逄格亮阅读 247评论 0 0