html 实现tab切换的示例代码

ID:16267 / 打印

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为下面这样:

 <div class="wrap">     <label>         <span>home</span>         <input type="radio" name="tab" checked>         <div>home-page</div>     </label>     <label>         <span>list</span>         <input type="radio" name="tab">         <div>list-page</div>     </label>     <label>         <span>news</span>         <input type="radio" name="tab">         <div>news-page</div>     </label>     <label>         <span>mine</span>         <input type="radio" name="tab">         <div>mine-page</div>     </label> </div>

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

 <style type="text/css">         *{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;         }     </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标签对应

最终代码如下:

 <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}实现显示选中项

 <style type="text/css">         *{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;         }     </style> 
上一篇: Layui表格选中指定行的radio单选框并滚动到该行的实现代码
下一篇: HTML+CSS相对宽度和绝对宽度冲突时的div解决方法

作者:admin @ 24资源网   2024-11-04

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。