html 实现tab切换的示例代码

tab切换在项目中也算是常用技术,一般实现tab切换都用js或者jq实现,今天介绍两种只用css实现tab切换方法:

方法一:

原理:通过label标签的关联属性和input的单选类型实现相应div的显示

1.创建一个类名为wrap的div当作容器

2.创建四个label标签,这将作为tab切换项

3.在每一个label中创建一个span标签(导航内容),input标签(实现选中于取消选中)type类型为radio,还要创建一个div作为这个导航项被点中是显示内容框,

这里要注意的是input标签的name必须是相同的,我这边取名叫tab

最终HTML为下面这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="wrap">
    <label>
        <span>home</span>
        <div>home-page</div>
    </label>
    <label>
        <span>list</span>
        <div>list-page</div>
    </label>
    <label>
        <span>news</span>
        <div>news-page</div>
    </label>
    <label>
        <span>mine</span>
        <div>mine-page</div>
    </label>
</div>

重要的css,通过将input的width设为0使得input的那个小圆点不现实,又通过label的关联用导航项的点击实现input的checked,然后通过input:checked+div{display:block}实现相应div的显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
*{margin: 0;padding: 0;}
.wrap{
    margin: 20px auto;
    width: 403px;
    height: 600px;
    border:1px solid brown;
    position: relative;
}
label{
    width: 100px;
    height: 30px;
    float: left;
    text-align: center;
    line-height:30px;
    border-right: 1px solid brown;
    border-bottom: 1px solid brown;
}
label:nth-of-type(4){
    border-right: none;
}
label span{
    cursor: pointer;
}
label div{
    width: 403px;
    height: 568px;
    position: absolute;
    left: 0;
    top: 31px;
    background: #eeeeee;
    display: none;
}
label input{
    width: 0;
}
input:checked+div{
    display: block;
}

方法二:

原理:通过a标签的锚点实现切换,也就a的href的路径是要切换div的id

1.创建一个类名为wrap的div作为容器

2.创建一个类名为nav的div,在里边创建四个a标签,a标签的href分别是要切换到的div的id

3.创建一个和nav兄弟关系的类名为sh的容器用来放置切换的div

4.创建显示内容div,id分别和上面a标签对应

最终代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div class="wrap">
    <div class="nav">
        <a href="#home">home</a>
        <a href="#list">list</a>
        <a href="#news">news</a>
        <a href="#mine">mine</a>
    </div>
    <div class="sh">
        <div id="home">home-page</div>
        <div id="list">list-page</div>
        <div id="news">news-page</div>
        <div id="mine">mine-page</div>
    </div>
</div>

css样式设置,即将类名为sh下的div设置为display:none;然后通过div:target{display:block}实现显示选中项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
*{margin: 0;padding: 0}
.wrap{
    width: 400px;
    height: 600px;
    border: 1px solid brown;
    margin: 20px auto;
    position: relative;
}
.nav{
    width: 100%;
    height: 30px;
}
.nav a{
    width: 99px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    border-right: 1px solid brown;
    border-bottom: 1px solid brown;
    float: left;
    text-decoration: none;
    color:black;
}
.sh{
    width: 400px;
    height: 569px;
    position: absolute;
    left: 0;
    top:31px;
    background: #eeeeee;
}
.sh div{
    display: none;
    text-align: center;
}
.sh div:target{
    display: block;
}

到此这篇关于html 实现tab切换的示例代码的文章就介绍到这了,更多相关html tab切换内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章,希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/navsub/html/13488.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部