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俱乐部!