这篇文章主要介绍了html 实现tab切换的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
tab切换在项目中也算是常用技术,一般实现tab切换都用js或者jq实现,今天介绍两种只用css实现tab切换方法:方法一:原理:通过label标签的关联属性和input的单选类型实现相应p的显示1.创建一个类名为wrap的p当作容器2.创建四个label标签,这将作为tab切换项3.在每一个label中创建一个span标签(导航内容),input标签(实现选中于取消选中)type类型为radio,还要创建一个p作为这个导航项被点中是显示内容框,这里要注意的是input标签的name必须是相同的,我这边取名叫tab最终HTML为下面这样:<p ><label>
<span>home</span>
<input type="radio" name="tab" checked>
<p>home-page</p>
</label>
<label>
<span>list</span>
<input type="radio" name="tab">
<p>list-page</p>
</label>
<label>
<span>news</span>
<input type="radio" name="tab">
<p>news-page</p>
</label>
<label>
<span>mine</span>
<input type="radio" name="tab">
<p>mine-page</p>
</label>
</p>重要的css,通过将input的width设为0使得input的那个小圆点不现实,又通过label的关联用导航项的点击实现input的checked,然后通过input:checked+p{display:block}实现相应p的显示<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 p{
width: 403px;
height: 568px;
position: absolute;
left: 0;
top: 31px;
background: #eeeeee;
display: none;
}
label input{
width: 0;
}
input:checked+p{
display: block;
}
</style>方法二:原理:通过a标签的锚点实现切换,也就a的href的路径是要切换p的id1.创建一个类名为wrap的p作为容器2.创建一个类名为nav的p,在里边创建四个a标签,a标签的href分别是要切换到的p的id3.创建一个和nav兄弟关系的类名为sh的容器用来放置切换的p4.创建显示内容p,id分别和上面a标签对应最终代码如下:<p >
<p >
<a href="#home">home</a>
<a href="#list">list</a>
<a href="#news">news</a>
<a href="#mine">mine</a>
</p>
<p >
<p >home-page</p>
<p >list-page</p>
<p >news-page</p>
<p >mine-page</p>
</p>
</p>css样式设置,即将类名为sh下的p设置为display:none;然后通过p: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 p{
display: none;
text-align: center;
}
.sh p:target{
display: block;
}
</style>来源:本站链接:https://www.jb51.net/web/732940.html
