自定义Tab选项卡,具体内容如下
规范HTML格式
在设计选项卡之前,先规范一下HTML的格式。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14 |
< div class = "m-tab-container" > < ul > < li class = "active" >< a href = "#pane1" >面板1< CODE> < li >< a href = "#pane2" rel = "external nofollow" >面板2< CODE> < CODE> < div > < div id = "pane1" class = "active" > 这是面板1 < CODE> < div id = "pane2" > 这是面板2 < CODE> < CODE> < CODE> |
如上述代码所示,这里并没有声明太多类名,只有容器样式类m-tab-Container和激活样式类active两个。其他元素的样式都是通过这两个类一层一层往下找然后进行设置。
设计CSS样式
?
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 |
.m-tab-container{ display :flex; } .m-tab-container>ul, .m-tab-container>div{ padding : 0 ; margin : 0 ; } .m-tab-container>ul{ flex: 0 ; min-width : 50px ; } .m-tab-container>div{ position : relative ; flex: 1 ; border : 1px solid #ddd ; background-color : #fff ; padding : 10px ; z-index : 2 ; } .m-tab-container>ul>li{ display : block ; margin : 0 0 5px 0 ; } .m-tab-container>ul>li>a{ position : relative ; line-height : 40px ; display : block ; width : 100% ; text-align : center ; text-decoration : none ; background-color : #fff ; border : 1px solid #ddd ; border-right : 0 ; z-index : 1 ; } .m-tab-container>ul>li>a, .m-tab-container>ul>li.active>a:hover, .m-tab-container>ul>li.active>a:link, .m-tab-container>ul>li.active>a:visited, .m-tab-container>ul>li.active>a:active{ color : #000 ; } .m-tab-container>ul>li.active>a{ z-index : 3 ; } .m-tab-container>div>div{ display : none ; } .m-tab-container>div>div.active{ display : block ; } .m-tab-container>ul>li.active, .m-tab-container>ul>li.active>a{ cursor : default ; } |
li里面的a标签display设置成block后,长度超过了li,能够覆盖掉内容面板的边框形成空缺(经过测试,li设置边框之后和内容面板的div边框相距不足1px,也可以使用margin让li和div重叠,然后用li覆盖掉div的边框)。
绑定JS代码
?
1
2
3
4
5
6
7
8
9
10 |
( function ($) { // 页面加载后的工作 $( "div.m-tab-container li a" ).on( "click" , function (e) { e.preventDefault(); // 可以在这里判断被点击的a标签是否已经激活 $( ".active" ).removeClass( "active" ); $( this ).closest( "li" ).addClass( "active" ) $($( this ).attr( "href" )).addClass( "active" ); }) })(jQuery); |
jsp复习资料汇总
[JSP]2017年1月24日asp教程编程辅导汇总
[ASP]2016年12月2日JSP快速入门教程汇总
[JSP]2016年12月2日jsp基本用法和命令汇总
[JSP]2016年10月3日ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日