1 <template>
2 <div class="content">
3 <header class="tab_nav">
4 <div v-for="(item,index) in tabNav" :key="index" @click = "selected(index, $event)" :class="{'active':item.active}">
5 <img :src="item.imgUrl" alt="icon">
6 <span>{{item.title}}</span>
7 </div>
8 </header>
9 <main></main>
10 <footer></footer>
11 </div>
12 </template>
13
14 <script>
15 export default {
16 data() {
17 return {
18 tabNav:[
19 {title:'我参与的',active:true,imgUrl:'/src/images/index/participate.png'},
20 {title:'我发布的',active:false,imgUrl:'/src/images/index/publish.png'},
21 {title:'我抽奖的',active:false,imgUrl:'/src/images/index/luck_draw.png'},
22 ]
23 }
24 },
25 methods: {
26 selected: function(index) {
27 this.tabNav.forEach(e => e.active = false);
28 this.tabNav[index].active = true;
29 }
30 }
31 }
32 </script>
33
34 <style scoped lang="less">
35 .border{
36 content: '';
37 display: block;
38 width: 1px;
39 height: 1.5rem;
40 background: #D9D9D9;
41 position: absolute;
42 top: 0.75rem;
43 }
44 .tab_nav{
45 display: flex;
46 width: 100%;
47 height: 2.5rem;
48 background: #fff;
49 opacity: 0.5rem;
50 &>div{
51 height: 2.5rem;
52 width: 33.33%;
53 opacity: 0.5;
54 text-align: center;
55 &:nth-of-type(2) {
56 position: relative;
57 &::before{
58 .border;
59 left: 0;
60 }
61 &::after{
62 .border;
63 right: 0;
64 }
65 }
66 &>img{
67 width: 1rem;
68 height: 1rem;
69 display: block;
70 margin: 0.5rem auto 0;
71 }
72 &>span{
73 display: block;
74 font-size: 0.5rem;
75 color: #69728E;
76 line-height: 0.8rem;
77 }
78 }
79 &>div.active {
80 color: #69728E;
81 opacity: 1;
82 }84
85
86 }
87
88 </style>
![]()