egirlskey/src/web/app/common/views/components/media-list.vue

57 lines
1,023 B
Vue
Raw Normal View History

2018-02-12 00:06:22 +00:00
<template>
<div class="mk-media-list" :data-count="mediaList.length">
<template v-for="media in mediaList">
<mk-media-image :image="media" :key="media.id"/>
</template>
2018-02-12 00:06:22 +00:00
</div>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
props: ['mediaList'],
2018-02-12 00:06:22 +00:00
});
</script>
2018-02-15 06:14:28 +00:00
<style lang="stylus" scoped>
.mk-media-list
2018-02-15 06:14:28 +00:00
display grid
grid-gap 4px
height 256px
@media (max-width 500px)
height 192px
&[data-count="1"]
grid-template-rows 1fr
&[data-count="2"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr
&[data-count="3"]
grid-template-columns 1fr 0.5fr
grid-template-rows 1fr 1fr
:nth-child(1)
grid-row 1 / 3
:nth-child(3)
grid-column 2 / 3
grid-row 2/3
&[data-count="4"]
grid-template-columns 1fr 1fr
grid-template-rows 1fr 1fr
:nth-child(1)
grid-column 1 / 2
grid-row 1 / 2
:nth-child(2)
grid-column 2 / 3
grid-row 1 / 2
:nth-child(3)
grid-column 1 / 2
grid-row 2 / 3
:nth-child(4)
grid-column 2 / 3
grid-row 2 / 3
2018-02-15 06:14:28 +00:00
</style>