Блок заходит на блок, а не опускается ниже
Не могу понять из-за чего , следующие блоки , не опускаются в низ , а идут в первый блок ?
new Vue({
el: '#app',
data() {
return {
messages: []
}
},
methods: {
changeItemss() {
let timeStamp = Date.now().toLocaleString();
this.messages.unshift(
{id: timeStamp}
)
}
}
})
.w {
position: fixed;
top: 40px;
right: 16px;
}
.block {
position: fixed;
top: 80px;
right: 16px;
height: 20px;
width: 150px;
background-color: green;
margin-bottom: 20px;
&__messages_list {
display: flex;
flex-direction: column-reverse;
}
}
.fade {
&-enter {
transform: translateX(120px);
opacity: 0;
}
&-enter-active {
transition: all .6s ease;
}
&-enter-to {
opacity: 1;
}
&-leave {
height: 20px;
opacity: 1;
}
&-leave-active {
transition: transform .6s ease, opacity .6s, height .6s .2s;
}
&-leave-to {
height: 0;
transform: translateX(120px);
opacity: 0;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<button class="w" @click="changeItemss">Items</button>
<transition-group name="fade" class="messages_list">
<div class="block" v-for="message in messages"
:key="message.id">
<span>{{message.id}}</span>
</div>
</transition-group>
</div>
Ответы (1 шт):
Автор решения: soledar10
→ Ссылка
Пример
new Vue({
el: '#app',
data() {
return {
messages: []
}
},
methods: {
changeItemss() {
let timeStamp = Date.now().toLocaleString();
this.messages.unshift({
id: timeStamp
})
}
}
})
.w {
position: fixed;
top: 40px;
right: 16px;
}
.messages_list {
display: flex;
flex-direction: column-reverse;
position: fixed;
top: 80px;
right: 16px;
}
.block {
height: 20px;
width: 150px;
background-color: green;
margin-bottom: 20px;
}
.fade {
&-enter {
transform: translateX(120px);
opacity: 0;
}
&-enter-active {
transition: all .6s ease;
}
&-enter-to {
opacity: 1;
}
&-leave {
height: 20px;
opacity: 1;
}
&-leave-active {
transition: transform .6s ease, opacity .6s, height .6s .2s;
}
&-leave-to {
height: 0;
transform: translateX(120px);
opacity: 0;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<button class="w" @click="changeItemss">Items</button>
<transition-group name="fade" class="messages_list">
<div class="block" v-for="message in messages" :key="message.id">
<span>{{message.id}}</span>
</div>
</transition-group>
</div>