源码论坛公告:本站是一个交流学习建站资源的社区论坛,旨在交流学习源码脚本等资源技术,欢迎大家投稿发言! 【点击此处将锦尚放在桌面

源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

 找回密码
 会员注册

QQ登录

只需一步,快速开始

查看: 2138|回复: 0

[CSS/Html] 纯css实现tab切换的示例代码

[复制链接]

3096

主题

3497

帖子

13万

金币

超级版主

Rank: 8Rank: 8

积分
269266
发表于 2023-11-2 12:15:51 | 显示全部楼层 |阅读模式

这篇文章主要介绍了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. <div class="wrap">
  2.     <label>
  3.         <span>home</span>
  4.         <input type="radio" name="tab" checked>
  5.         <div>home-page</div>
  6.     </label>
  7.     <label>
  8.         <span>list</span>
  9.         <input type="radio" name="tab">
  10.         <div>list-page</div>
  11.     </label>
  12.     <label>
  13.         <span>news</span>
  14.         <input type="radio" name="tab">
  15.         <div>news-page</div>
  16.     </label>
  17.     <label>
  18.         <span>mine</span>
  19.         <input type="radio" name="tab">
  20.         <div>mine-page</div>
  21.     </label>
  22. </div>
复制代码

重要的css,通过将input的width设为0使得input的那个小圆点不现实,又通过label的关联用导航项的点击实现input的checked,然后通过input:checked+div{display:block}实现相应div的显示
  1. <style type="text/css">
  2.         *{margin: 0;padding: 0;}
  3.         .wrap{
  4.             margin: 20px auto;
  5.             width: 403px;
  6.             height: 600px;
  7.             border:1px solid brown;
  8.             position: relative;
  9.         }
  10.         label{
  11.             width: 100px;
  12.             height: 30px;
  13.             float: left;
  14.             text-align: center;
  15.             line-height:30px;
  16.             border-right: 1px solid brown;
  17.             border-bottom: 1px solid brown;
  18.         }
  19.         label:nth-of-type(4){
  20.             border-right: none;
  21.         }
  22.         label span{
  23.             cursor: pointer;
  24.         }
  25.         label div{
  26.             width: 403px;
  27.             height: 568px;
  28.             position: absolute;
  29.             left: 0;
  30.             top: 31px;
  31.             background: #eeeeee;
  32.             display: none;
  33.         }
  34.         label input{
  35.             width: 0;
  36.         }
  37.         input:checked+div{
  38.             display: block;
  39.         }
  40.     </style>
复制代码

方法二:

原理:通过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. <div class="wrap">
  2.     <div class="nav">
  3.         <a href="#home">home</a>
  4.         <a href="#list">list</a>
  5.         <a href="#news">news</a>
  6.         <a href="#mine">mine</a>
  7.     </div>
  8.     <div class="sh">
  9.         <div id="home">home-page</div>
  10.         <div id="list">list-page</div>
  11.         <div id="news">news-page</div>
  12.         <div id="mine">mine-page</div>
  13.     </div>
  14. </div>
复制代码

css样式设置,即将类名为sh下的div设置为display:none;然后通过div:target{display:block}实现显示选中项
  1. <style type="text/css">
  2.         *{margin: 0;padding: 0}
  3.         .wrap{
  4.             width: 400px;
  5.             height: 600px;
  6.             border: 1px solid brown;
  7.             margin: 20px auto;
  8.             position: relative;
  9.         }
  10.         .nav{
  11.             width: 100%;
  12.             height: 30px;
  13.         }
  14.         .nav a{
  15.             width: 99px;
  16.             height: 30px;
  17.             text-align: center;
  18.             line-height: 30px;
  19.             border-right: 1px solid brown;
  20.             border-bottom: 1px solid brown;
  21.             float: left;
  22.             text-decoration: none;
  23.             color:black;
  24.         }
  25.         .sh{
  26.             width: 400px;
  27.             height: 569px;
  28.             position: absolute;
  29.             left: 0;
  30.             top:31px;
  31.             background: #eeeeee;
  32.         }
  33.         .sh div{
  34.             display: none;
  35.             text-align: center;
  36.         }
  37.         .sh div:target{
  38.             display: block;
  39.         }
  40.     </style>
复制代码

到此这篇关于html 实现tab切换的示例代码的文章就介绍到这了,感谢大家对锦尚中国源码论坛的支持!

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

锦尚中国源码论坛

聚合标签|锦尚中国,为中国网站设计添动力 ( 鲁ICP备09033200号 ) |网站地图

GMT+8, 2024-4-16 09:31 , Processed in 0.108732 second(s), 15 queries .

带宽由 锦尚数据 提供 专业的数据中心

© 锦尚中国源码论坛 52jscn Inc. 非法入侵必将受到法律制裁 法律顾问:IT法律网 & 褚福省律师 锦尚爱心 版权申诉 版权与免责声明