美文网首页
tab栏切换的样式效果

tab栏切换的样式效果

作者: 最爱喝龙井 | 来源:发表于2019-08-16 08:58 被阅读0次

    router-link-active属性会默认添加到被选中的tab标签上,我们可以通过修改这个类的样式来修改被选中的tab的样式

    例:

    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script src="js/vue.js"></script>
        <script src="js//vue-router-3.0.1.js"></script>
        <style>
            .v-enter,
            .v-leave-to {
                opacity: 0;
                transform: translateX(150px)
            }
            .v-enter-active,
            .v-leave-active {
                transition: all .6s ease;
            }
            .router-link-active {
                color: red;
            }
        </style>
    </head>
    
    <body>
        <div id="app">
            <router-link to='/login'>登陆</router-link>
            <router-link to='/register'>注册</router-link>
            <transition mode='out-in'>
                <router-view></router-view>
            </transition>
        </div>
    
        <script>
            var tm1 = {
                template:'<h1>hello world</h1>'
            }
            var tm2 = {
                template:'<h1>注册</h1>'
            }
            var routerObj = new VueRouter({
                routes: [
                    {path:'/', redirect:'/login'},
                    {path:'/login', component: tm1},
                    {path:'/register', component: tm2}
                ]
            })
            var vm = new Vue({
                el: '#app',
                data: {},
                methods: {},
                router: routerObj
            });
        </script>
    </body>
    
    </html>
    

    还有一个方式:通过路由对象身上的linkActiveClass来设置一个类名,替换调默认的router-link-active类,然后在新设置的类名上修改样式

    例:

    <!DOCTYPE html>
    <html lang="zh-CN">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <script src="js/vue.js"></script>
        <script src="js//vue-router-3.0.1.js"></script>
        <style>
            .v-enter,
            .v-leave-to {
                opacity: 0;
                transform: translateX(150px)
            }
            .v-enter-active,
            .v-leave-active {
                transition: all .6s ease;
            }
            .router-link-active {
                color: red;
            }
            .myActive {
                color: green;
            }
        </style>
    </head>
    
    <body>
        <div id="app">
            <router-link to='/login'>登陆</router-link>
            <router-link to='/register'>注册</router-link>
            <transition mode='out-in'>
                <router-view></router-view>
            </transition>
        </div>
    
        <script>
            var tm1 = {
                template:'<h1>hello world</h1>'
            }
            var tm2 = {
                template:'<h1>注册</h1>'
            }
            var routerObj = new VueRouter({
                routes: [
                    {path:'/', redirect:'/login'},
                    {path:'/login', component: tm1},
                    {path:'/register', component: tm2}
                ],
                linkActiveClass: 'myActive'
            })
            var vm = new Vue({
                el: '#app',
                data: {},
                methods: {},
                router: routerObj
            });
        </script>
    </body>
    
    </html>
    

    相关文章

      网友评论

          本文标题:tab栏切换的样式效果

          本文链接:https://www.haomeiwen.com/subject/iygxsctx.html