首页 > 代码库 > CSS实现导航条Tab切换的三种方法
CSS实现导航条Tab切换的三种方法
布局方式:
- 语义布局:
- 上代码:
1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>tab导航</title> 7 </head> 8 9 <style> 10 .box { 11 margin: 300px auto; 12 } 13 </style> 14 15 <body> 16 17 <style> 18 body, 19 p { 20 margin: 0; 21 } 22 23 h2 { 24 margin: 0; 25 font-size: 100%; 26 } 27 28 ul { 29 margin: 0; 30 padding: 0; 31 list-style: none; 32 } 33 34 a { 35 text-decoration: none; 36 color: inherit; 37 } 38 39 .box { 40 width: 572px; 41 border: 1px solid #999; 42 overflow: hidden; 43 } 44 45 .nav { 46 margin-left: -1px; 47 font: 14px "微软雅黑"; 48 overflow: hidden; 49 background-color: #f1f1f1; 50 } 51 52 .navI { 53 float: left; 54 width: 33.333%; 55 box-sizing: border-box; 56 } 57 58 .navI-tit { 59 line-height: 40px; 60 text-align: center; 61 cursor: pointer; 62 border-left: 1px solid #cecece; 63 border-bottom: 1px solid #cecece; 64 } 65 66 .navI-txt { 67 width: 572px; 68 height: 200px; 69 text-indent: 2em; 70 line-height: 2; 71 background: #fff; 72 } 73 74 .ml1 { 75 margin-left: -100%; 76 } 77 78 .ml2 { 79 margin-left: -200%; 80 } 81 82 .navI_active { 83 position: relative; 84 z-index: 1; 85 } 86 </style> 87 88 <div class="box"> 89 <ul class="nav"> 90 <li class="navI navI_active"> 91 <h2 class="navI-tit">课程</h2> 92 <p class="navI-txt">课程内容</p> 93 </li> 94 <li class="navI"> 95 <h2 class="navI-tit">学习计划</h2> 96 <p class="navI-txt ml1">学习计划内容</p> 97 </li> 98 <li class="navI"> 99 <h2 class="navI-tit">技能图谱</h2> 100 <p class="navI-txt ml2">技能图谱内容</p> 101 </li> 102 </ul> 103 </div> 104 105 </body> 106 107 </html>
- 效果图:
- 上代码:
- 视觉布局:
- 上代码:
1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>tab导航</title> 7 </head> 8 9 <style> 10 .box { 11 margin: 300px auto; 12 } 13 </style> 14 15 <body> 16 17 <style> 18 body, 19 p { 20 margin: 0; 21 } 22 23 ul { 24 margin: 0; 25 padding: 0; 26 list-style: none; 27 } 28 29 a { 30 text-decoration: none; 31 color: inherit; 32 } 33 34 .box { 35 width: 572px; 36 border: 1px solid #999; 37 font: 14px "微软雅黑"; 38 overflow: hidden; 39 } 40 41 .nav-tit { 42 margin-left: -1px; 43 height: 40px; 44 line-height: 40px; 45 text-align: center; 46 background-color: #f1f1f1; 47 overflow: hidden; 48 } 49 50 .nav-titI { 51 box-sizing: border-box; 52 float: left; 53 width: 33.333%; 54 border-left: 1px solid #cecece; 55 border-bottom: 1px solid #cecece; 56 cursor: pointer; 57 } 58 59 .nav-txt { 60 height: 200px; 61 text-indent: 2em; 62 line-height: 2; 63 } 64 65 .nav-txtI { 66 height: 200px; 67 } 68 </style> 69 70 <div class="box"> 71 <nav class="nav-tit"> 72 <a class="nav-titI">课程</a> 73 <a class="nav-titI">学习计划</a> 74 <a class="nav-titI">技能图谱</a> 75 </nav> 76 <ul class="nav-txt"> 77 <li class="nav-txtI nav-txtI_active">课程内容</li> 78 <li class="nav-txtI">学习计划内容</li> 79 <li class="nav-txtI">技能图谱内容</li> 80 </ul> 81 </div> 82 83 </body> 84 85 </html>
- 效果图:
- 上代码:
- hover:
- 上代码:
1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>tab导航</title> 7 </head> 8 9 <style> 10 .box { 11 margin: 300px auto; 12 } 13 </style> 14 15 <body> 16 17 <style> 18 body, 19 p { 20 margin: 0; 21 } 22 23 h2 { 24 margin: 0; 25 font-size: 100%; 26 } 27 28 ul { 29 margin: 0; 30 padding: 0; 31 list-style: none; 32 } 33 34 a { 35 text-decoration: none; 36 color: inherit; 37 } 38 39 .box { 40 width: 572px; 41 border: 1px solid #999; 42 overflow: hidden; 43 } 44 45 .nav { 46 margin-left: -1px; 47 font: 14px "微软雅黑"; 48 overflow: hidden; 49 background-color: #f1f1f1; 50 } 51 52 .navI { 53 float: left; 54 width: 33.333%; 55 box-sizing: border-box; 56 } 57 58 .navI-tit { 59 line-height: 40px; 60 text-align: center; 61 cursor: pointer; 62 border-left: 1px solid #cecece; 63 border-bottom: 1px solid #cecece; 64 } 65 66 .navI-txt { 67 width: 572px; 68 height: 200px; 69 text-indent: 2em; 70 line-height: 2; 71 background: #fff; 72 } 73 74 .ml1 { 75 margin-left: -100%; 76 } 77 78 .ml2 { 79 margin-left: -200%; 80 } 81 82 .navI_active { 83 position: relative; 84 z-index: 1; 85 } 86 /*重点代码*/ 87 88 .navI:hover { 89 position: relative; 90 z-index: 1; 91 } 92 93 .navI:hover .navI-tit { 94 background: #fff; 95 border-bottom: none; 96 } 97 </style> 98 99 <div class="box"> 100 <ul class="nav"> 101 <li class="navI navI_active"> 102 <h2 class="navI-tit">课程</h2> 103 <p class="navI-txt">课程内容</p> 104 </li> 105 <li class="navI"> 106 <h2 class="navI-tit">学习计划</h2> 107 <p class="navI-txt ml1">学习计划内容</p> 108 </li> 109 <li class="navI"> 110 <h2 class="navI-tit">技能图谱</h2> 111 <p class="navI-txt ml2">技能图谱内容</p> 112 </li> 113 </ul> 114 </div> 115 116 </body> 117 118 </html>
- 上代码:
- 锚点:
- 【使用语义布局】上代码:
1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>tab导航</title> 7 </head> 8 9 <style> 10 .box { 11 margin: 300px auto; 12 } 13 </style> 14 15 <body> 16 17 <style> 18 body, 19 p { 20 margin: 0; 21 } 22 23 h2 { 24 margin: 0; 25 font-size: 100%; 26 } 27 28 ul { 29 margin: 0; 30 padding: 0; 31 list-style: none; 32 } 33 34 a { 35 text-decoration: none; 36 color: inherit; 37 } 38 39 .box { 40 width: 572px; 41 border: 1px solid #999; 42 overflow: hidden; 43 } 44 45 .nav { 46 margin-left: -1px; 47 font: 14px "微软雅黑"; 48 overflow: hidden; 49 background-color: #f1f1f1; 50 } 51 52 .navI { 53 float: left; 54 width: 33.333%; 55 box-sizing: border-box; 56 position: relative; 57 } 58 59 .navI-tit { 60 position: absolute; 61 top: 0; 62 left: 0; 63 right: 0; 64 box-sizing: border-box; 65 line-height: 40px; 66 height: 40px; 67 text-align: center; 68 cursor: pointer; 69 border-left: 1px solid #cecece; 70 border-bottom: 1px solid #cecece; 71 } 72 73 .navI-txt { 74 width: 572px; 75 height: 200px; 76 margin-top: 40px; 77 text-indent: 2em; 78 line-height: 2; 79 background: #fff; 80 } 81 82 .ml1 { 83 margin-left: -100%; 84 } 85 86 .ml2 { 87 margin-left: -200%; 88 } 89 90 .navI_active { 91 z-index: 1; 92 } 93 /*重点代码*/ 94 95 .navI-txt:target { 96 position: relative; 97 z-index: 1; 98 } 99 100 .navI-txt:target~ .navI-tit { 101 background: #fff; 102 border-bottom: none; 103 } 104 </style> 105 106 <div class="box"> 107 <ul class="nav"> 108 <li class="navI navI_active"> 109 <p class="navI-txt" id="kc">课程内容</p> 110 <a class="navI-tit" href="#kc">课程</a> 111 </li> 112 <li class="navI"> 113 <p class="navI-txt ml1" id="xx">学习计划内容</p> 114 <a class="navI-tit" href="#xx">学习计划</a> 115 </li> 116 <li class="navI"> 117 <p class="navI-txt ml2" id="jn">技能图谱内容</p> 118 <a class="navI-tit" href="#jn">技能图谱</a> 119 </li> 120 </ul> 121 </div> 122 123 </body> 124 125 </html>
- 【使用视觉布局】上代码:
1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>tab导航</title> 7 </head> 8 9 <style> 10 .box { 11 margin: 300px auto; 12 } 13 </style> 14 15 <body> 16 17 <style> 18 body, 19 p { 20 margin: 0; 21 } 22 23 ul { 24 margin: 0; 25 padding: 0; 26 list-style: none; 27 } 28 29 a { 30 text-decoration: none; 31 color: inherit; 32 } 33 34 .box { 35 width: 572px; 36 border: 1px solid #999; 37 font: 14px "微软雅黑"; 38 overflow: hidden; 39 } 40 41 .nav-tit { 42 margin-left: -1px; 43 height: 40px; 44 line-height: 40px; 45 text-align: center; 46 background-color: #f1f1f1; 47 overflow: hidden; 48 } 49 50 .nav-titI { 51 box-sizing: border-box; 52 float: left; 53 width: 33.333%; 54 border-left: 1px solid #cecece; 55 border-bottom: 1px solid #cecece; 56 cursor: pointer; 57 } 58 59 .nav-txt { 60 height: 200px; 61 text-indent: 2em; 62 line-height: 2; 63 } 64 65 .nav-txtI { 66 height: 200px; 67 } 68 /*重点内容*/ 69 70 .nav-txt { 71 overflow: hidden; 72 } 73 74 .nav-titI:hover { 75 background-color: white; 76 border-bottom: none; 77 } 78 </style> 79 80 <div class="box"> 81 <nav class="nav-tit"> 82 <a class="nav-titI" href="#kc">课程</a> 83 <a class="nav-titI" href="#xx">学习计划</a> 84 <a class="nav-titI" href="#jn">技能图谱</a> 85 </nav> 86 <ul class="nav-txt"> 87 <li class="nav-txtI nav-txtI_active" id="kc">课程内容</li> 88 <li class="nav-txtI" id="xx">学习计划内容</li> 89 <li class="nav-txtI" id="jn">技能图谱内容</li> 90 </ul> 91 </div> 92 93 </body> 94 95 </html>
- 【使用语义布局】上代码:
- label:
- 【使用语义布局】上代码:
1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>tab导航</title> 7 </head> 8 9 <style> 10 .box { 11 margin: 300px auto; 12 } 13 </style> 14 15 <body> 16 17 <style> 18 body, 19 p { 20 margin: 0; 21 } 22 23 h2 { 24 margin: 0; 25 font-size: 100%; 26 } 27 28 ul { 29 margin: 0; 30 padding: 0; 31 list-style: none; 32 } 33 34 input { 35 margin: 0; 36 width: 0; 37 } 38 39 a { 40 text-decoration: none; 41 color: inherit; 42 } 43 44 .box { 45 width: 572px; 46 border: 1px solid #999; 47 overflow: hidden; 48 } 49 50 .nav { 51 margin-left: -1px; 52 font: 14px "微软雅黑"; 53 overflow: hidden; 54 background-color: #f1f1f1; 55 } 56 57 .navI { 58 float: left; 59 width: 33.333%; 60 box-sizing: border-box; 61 } 62 63 .navI-tit { 64 display: block; 65 line-height: 40px; 66 text-align: center; 67 cursor: pointer; 68 border-left: 1px solid #cecece; 69 border-bottom: 1px solid #cecece; 70 } 71 72 .navI-txt { 73 position: relative; 74 width: 572px; 75 height: 200px; 76 text-indent: 2em; 77 line-height: 2; 78 background: #fff; 79 } 80 81 .ml1 { 82 margin-left: -100%; 83 } 84 85 .ml2 { 86 margin-left: -200%; 87 } 88 /*重点代码*/ 89 90 .navI-radio { 91 display: none; 92 } 93 94 .navI-radio:checked+ .navI-tit { 95 background: #fff; 96 border-bottom: none; 97 } 98 99 .navI-radio:checked~ .navI-txt { 100 z-index: 1; 101 } 102 </style> 103 104 <div class="box"> 105 <ul class="nav"> 106 <li class="navI"> 107 <input class="navI-radio" name="nav" type="radio" id="kc" checked> 108 <label class="navI-tit" for="kc">课程</label> 109 <p class="navI-txt">课程内容</p> 110 </li> 111 <li class="navI"> 112 <input class="navI-radio" name="nav" type="radio" id="xx"> 113 <label class="navI-tit" for="xx">学习计划</label> 114 <p class="navI-txt ml1">学习计划内容</p> 115 </li> 116 <li class="navI"> 117 <input class="navI-radio" name="nav" type="radio" id="jn"> 118 <label class="navI-tit" for="jn">技能图谱</label> 119 <p class="navI-txt ml2">技能图谱内容</p> 120 </li> 121 </ul> 122 </div> 123 124 </body> 125 126 </html>
- 【使用视觉布局】上代码:
1 <!doctype html> 2 <html> 3 4 <head> 5 <meta charset="utf-8"> 6 <title>tab导航</title> 7 </head> 8 9 <style> 10 .box { 11 margin: 300px auto; 12 } 13 </style> 14 15 <body> 16 17 <style> 18 body, 19 p { 20 margin: 0; 21 } 22 23 ul { 24 margin: 0; 25 padding: 0; 26 list-style: none; 27 } 28 29 a { 30 text-decoration: none; 31 color: inherit; 32 } 33 34 input { 35 margin: 0; 36 padding: 0; 37 border: none; 38 } 39 40 .box { 41 width: 572px; 42 border: 1px solid #999; 43 font: 14px "微软雅黑"; 44 overflow: hidden; 45 } 46 47 .nav-tit { 48 margin-left: -1px; 49 height: 40px; 50 line-height: 40px; 51 text-align: center; 52 background-color: #f1f1f1; 53 overflow: hidden; 54 } 55 56 .nav-titI { 57 box-sizing: border-box; 58 float: left; 59 width: 33.333%; 60 border-left: 1px solid #cecece; 61 border-bottom: 1px solid #cecece; 62 cursor: pointer; 63 } 64 65 .nav-txt { 66 height: 200px; 67 } 68 69 .nav-txtI { 70 height: 200px; 71 display: block; 72 width: 100%; 73 text-indent: 2em; 74 line-height: 2; 75 } 76 /*重点内容*/ 77 78 .nav-txt { 79 overflow: hidden; 80 } 81 82 .nav-titI:hover { 83 background-color: #fff; 84 border-bottom: none; 85 } 86 </style> 87 88 <div class="box"> 89 <nav class="nav-tit"> 90 <label class="nav-titI" for="kc">课程</label> 91 <label class="nav-titI" for="xx">学习计划</label> 92 <label class="nav-titI" for="jn">技能图谱</label> 93 </nav> 94 <nav class="nav-txt"> 95 <input class="nav-txtI nav-txtI_active" id="kc" value="课程内容" readonly> 96 <input class="nav-txtI" id="xx" value="学习计划内容" readonly> 97 <input class="nav-txtI" id="jn" value="技能图谱内容" readonly> 98 </nav> 99 </div> 100 101 </body> 102 103 </html>
- 【使用语义布局】上代码:
CSS实现导航条Tab切换的三种方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。