这是一款简洁的bootstrap垂直tab选项卡。该选项卡在bootstrap原有的选项卡插件的基础上,通过添加一些css样式,将它显示为垂直的选项卡。
使用方法
在页面中引入下面的文件。
<link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" href="http://jrain.oscitas.netdna-cdn.com/tutorial/css/fontawesome-all.min.css"> <script src="js/jquery-1.11.0.min.js" type="text/javascript"></script> <script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
HTML结构
<div class="container"> <div class="row"> <div class="col-md-6"> <div class="vertical-tab" role="tabpanel"> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"><a href="#Section1" aria-controls="home" role="tab" data-toggle="tab">Section 1</a></li> <li role="presentation"><a href="#Section2" aria-controls="profile" role="tab" data-toggle="tab">Section 2</a></li> <li role="presentation"><a href="#Section3" aria-controls="messages" role="tab" data-toggle="tab">Section 3</a></li> </ul> <!-- Tab panes --> <div class="tab-content tabs"> <div role="tabpanel" class="tab-pane fade in active" id="Section1"> <h3>Section 1</h3> <p>Lorem ipsum dolor sit amet...</p> </div> <div role="tabpanel" class="tab-pane fade" id="Section2"> <h3>Section 2</h3> <p>Lorem ipsum dolor sit amet...</p> </div> <div role="tabpanel" class="tab-pane fade" id="Section3"> <h3>Section 3</h3> <p>Lorem ipsum dolor sit amet,...</p> </div> </div> </div> </div> </div> </div>
CSS样式
a:hover,a:focus{ text-decoration: none; outline: none; } .vertical-tab{ font-family: 'Chivo', sans-serif; display: table; } .vertical-tab .nav-tabs{ display: table-cell; width: 28%; min-width: 28%; vertical-align: top; border: none; border-right: 3px solid #e7e7e7; } .vertical-tab .nav-tabs li{ float: none; vertical-align: top; } .vertical-tab .nav-tabs li a{ color: #444; background: #fff; font-size: 18px; font-weight: 700; text-align: center; letter-spacing: 1px; text-transform: uppercase; padding: 10px 20px; margin: 0 0 1px 0; border: none; transition: all 0.3s ease 0s; } .vertical-tab .nav-tabs li a:hover, .vertical-tab .nav-tabs li.active a, .vertical-tab .nav-tabs li.active a:hover{ color: #198df8; background: #fff; border: none; } .vertical-tab .nav-tabs li a:before, .vertical-tab .nav-tabs li a:after{ content: "\f054"; color: #198df8; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 18px; opacity: 0; transform: translateY(-50%); position: absolute; top: 50%; right: -4px; z-index: 1; transition: all 0.3s ease 0.1s; } .vertical-tab .nav-tabs li a:after{ content: ""; background: #198df8; width: 3px; height: 100%; transform: translateY(0); top: 0; right: 8px; transition: all 0.3s ease 0s; } .vertical-tab .nav-tabs li a:hover:before, .vertical-tab .nav-tabs li.active a:before{ opacity: 1; right: -17px; } .vertical-tab .nav-tabs li a:hover:after, .vertical-tab .nav-tabs li.active a:after{ opacity: 1; right: -3px; } .vertical-tab .tab-content{ color: #555; background-color: #fff; font-size: 15px; letter-spacing: 1px; line-height: 23px; padding: 10px 15px 10px 25px; display: table-cell; position: relative; } .vertical-tab .tab-content h3{ font-weight: 600; text-transform: uppercase; margin: 0 0 5px 0; } @media only screen and (max-width: 479px){ .vertical-tab .nav-tabs{ display: block; width: 100%; border-right: none; } .vertical-tab .nav-tabs li a{ padding: 7px 7px; margin: 0 0 18px 0; } .vertical-tab .nav-tabs li a:before, .vertical-tab .nav-tabs li a:after{ transform: translateY(0) translateX(50%) rotate(90deg); right: 50%; top: auto; bottom:0; } .vertical-tab .nav-tabs li a:after{ width: 50%; height: 3px; transform: translateY(0) translateX(50%) rotate(0); } .vertical-tab .nav-tabs li a:hover:before, .vertical-tab .nav-tabs li.active a:before{ bottom: -22px; right: 50%; } .vertical-tab .nav-tabs li a:hover:after, .vertical-tab .nav-tabs li.active a:after{ bottom: -2px; right: 50%; } .vertical-tab .tab-content{ border-top: 3px solid #e7e7e7; display: block; padding: 20px 15px 10px; } .vertical-tab .tab-content h3{ font-size: 18px; } }