2018-02-12 02:06:22 +02:00
|
|
|
<template>
|
2018-03-26 11:26:21 +03:00
|
|
|
<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 02:06:22 +02:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
|
|
|
import Vue from 'vue';
|
|
|
|
|
|
|
|
export default Vue.extend({
|
2018-03-26 10:56:46 +03:00
|
|
|
props: ['mediaList'],
|
2018-02-12 02:06:22 +02:00
|
|
|
});
|
|
|
|
</script>
|
2018-02-15 08:14:28 +02:00
|
|
|
|
|
|
|
<style lang="stylus" scoped>
|
2018-03-26 10:56:46 +03:00
|
|
|
.mk-media-list
|
2018-02-15 08:14:28 +02:00
|
|
|
display grid
|
|
|
|
grid-gap 4px
|
|
|
|
height 256px
|
|
|
|
|
|
|
|
@media (max-width 500px)
|
|
|
|
height 192px
|
2018-03-26 11:26:21 +03:00
|
|
|
|
|
|
|
&[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 08:14:28 +02:00
|
|
|
</style>
|