focus.vue 1.52 KB
<template>
    <div class="focus-floor">
        <swipe class="swipe swipe-{{floor.length}}">
            <swipe-item v-for="item in floor" v-bind:style="{backgroundColor: item.bgColor}">
                <a href="{{item.url}}" title="{{item.title}}">
                    <img v-bind:src="item.src | resize 750 365">
                </a>
            </swipe-item>
        </swipe>
    </div>
</template>

<script>
    require('vue-swipe/dist/vue-swipe.css');
    const swipe = require('vue-swipe');

    module.exports = {
        props: ['floor'],
        components: {
            swipe: swipe.Swipe,
            swipeItem: swipe.SwipeItem
        }
    };
</script>

<style>
    .focus-floor {
        border-bottom: 1px solid #eee;

        .swipe {
            position: relative;
            height: 100%;
        }

        .swipe-1 {
            .swipe-indicators {
                display: none;
            }
        }

        .swipe-item {
            a {
                display: block;
            }

            img {
                width: 100%;
                height: 100%;
            }
        }

        .swipe-indicators {
            left: initial;
            right: 30px;
            transform: none;
        }

        .swipe-indicator {
            width: 8px;
            height: 8px;
            background: #ccc;
            opacity: 1;
            vertical-align: middle;

            &.active {
                width: 12px;
                height: 12px;
                background: #fff;
            }
        }
    }
</style>