Bootstrap Card에 transition을 적용하는 방법
소개
Vue.js의 편리한 기능 중 하나의 transition. 이번은 그쪽을 사용해 Bootstrap의 카드를 늘어놓는 타입의 표시에 대해서 transition을 걸어 가고 싶습니다.
구체적인 상황
소스 코드
song.vue<div class="container">
<transition-group class="row"> <!--ここをdivから変える-->
<div class="card border-info col-lg-4 col-sm-6" v-for="item in items" :key="item.Artist+item.Title">
<div class="card-body">
<h2 class="card-title">{{ item.Title }}</h2>
<ul class="list-group list-group-flush">
<li class="list-group-item">アーティスト名:{{ item.Artist }}</li>
<li class="list-group-item">ボーカル: {{ item.Vocal.join('、') }}</li>
<li class="list-group-item">作詞:{{ item.Word.join('、') }}</li>
<li class="list-group-item">作曲:{{ item.Composer.join('、') }}</li>
<li class="list-group-item">編曲:{{ item.Arranger.join('、') }}</li>
<li class="list-group-item">作品:{{ item.TieUp[0] }}</li>
<li class="list-group-item">ブランド:{{ item.Brand[0] }}</li>
<li class="list-group-item">ジャンル: {{ item.Genre.join('、') }}</li>
</ul>
</div>
</div>
</transition-group> <!--ここをdivから変える-->
</div>
song.css.v-enter-active, .v-leave-active {
transition: opacity .5s;
} /*遷移に0.5秒かける*/
.v-enter, .v-leave-to{
opacity: 0;
} /*現れる時の最初と消える時の最後のopacityを0に指定*/
간단한 해설
내가 처음 빠져버린 것은 기존의 div 태그를 그대로 두고 transition-group 태그를 넣으려고 했던 곳입니다. 오류는 나오지 않지만 카드 자체가 표시되지 않습니다. class가 row의 곳을 지정해 주는 것이 제일 좋은 느낌일까라고 개인적으로 생각합니다. 그리고 transition-group 사용할 때는 key를 반드시 설정해 주세요. 제대로 표시되지 않습니다.
다음은 css에 관한 것입니다. 사실은 여기에서 지정한 4개 이외에도 .v-enter-to와 .v-leave를 지정하지 않으면 안됩니다만 둘 다 opacity가 1이므로 여기서는 생략할 수 있습니다. 덧붙여서 각각의 CSS 클래스의 의미를 정리하면 다음과 같은 느낌입니다.
소스 코드
song.vue<div class="container">
<transition-group class="row"> <!--ここをdivから変える-->
<div class="card border-info col-lg-4 col-sm-6" v-for="item in items" :key="item.Artist+item.Title">
<div class="card-body">
<h2 class="card-title">{{ item.Title }}</h2>
<ul class="list-group list-group-flush">
<li class="list-group-item">アーティスト名:{{ item.Artist }}</li>
<li class="list-group-item">ボーカル: {{ item.Vocal.join('、') }}</li>
<li class="list-group-item">作詞:{{ item.Word.join('、') }}</li>
<li class="list-group-item">作曲:{{ item.Composer.join('、') }}</li>
<li class="list-group-item">編曲:{{ item.Arranger.join('、') }}</li>
<li class="list-group-item">作品:{{ item.TieUp[0] }}</li>
<li class="list-group-item">ブランド:{{ item.Brand[0] }}</li>
<li class="list-group-item">ジャンル: {{ item.Genre.join('、') }}</li>
</ul>
</div>
</div>
</transition-group> <!--ここをdivから変える-->
</div>
song.css.v-enter-active, .v-leave-active {
transition: opacity .5s;
} /*遷移に0.5秒かける*/
.v-enter, .v-leave-to{
opacity: 0;
} /*現れる時の最初と消える時の最後のopacityを0に指定*/
간단한 해설
내가 처음 빠져버린 것은 기존의 div 태그를 그대로 두고 transition-group 태그를 넣으려고 했던 곳입니다. 오류는 나오지 않지만 카드 자체가 표시되지 않습니다. class가 row의 곳을 지정해 주는 것이 제일 좋은 느낌일까라고 개인적으로 생각합니다. 그리고 transition-group 사용할 때는 key를 반드시 설정해 주세요. 제대로 표시되지 않습니다.
다음은 css에 관한 것입니다. 사실은 여기에서 지정한 4개 이외에도 .v-enter-to와 .v-leave를 지정하지 않으면 안됩니다만 둘 다 opacity가 1이므로 여기서는 생략할 수 있습니다. 덧붙여서 각각의 CSS 클래스의 의미를 정리하면 다음과 같은 느낌입니다.
<div class="container">
<transition-group class="row"> <!--ここをdivから変える-->
<div class="card border-info col-lg-4 col-sm-6" v-for="item in items" :key="item.Artist+item.Title">
<div class="card-body">
<h2 class="card-title">{{ item.Title }}</h2>
<ul class="list-group list-group-flush">
<li class="list-group-item">アーティスト名:{{ item.Artist }}</li>
<li class="list-group-item">ボーカル: {{ item.Vocal.join('、') }}</li>
<li class="list-group-item">作詞:{{ item.Word.join('、') }}</li>
<li class="list-group-item">作曲:{{ item.Composer.join('、') }}</li>
<li class="list-group-item">編曲:{{ item.Arranger.join('、') }}</li>
<li class="list-group-item">作品:{{ item.TieUp[0] }}</li>
<li class="list-group-item">ブランド:{{ item.Brand[0] }}</li>
<li class="list-group-item">ジャンル: {{ item.Genre.join('、') }}</li>
</ul>
</div>
</div>
</transition-group> <!--ここをdivから変える-->
</div>
.v-enter-active, .v-leave-active {
transition: opacity .5s;
} /*遷移に0.5秒かける*/
.v-enter, .v-leave-to{
opacity: 0;
} /*現れる時の最初と消える時の最後のopacityを0に指定*/
내가 처음 빠져버린 것은 기존의 div 태그를 그대로 두고 transition-group 태그를 넣으려고 했던 곳입니다. 오류는 나오지 않지만 카드 자체가 표시되지 않습니다. class가 row의 곳을 지정해 주는 것이 제일 좋은 느낌일까라고 개인적으로 생각합니다. 그리고 transition-group 사용할 때는 key를 반드시 설정해 주세요. 제대로 표시되지 않습니다.
다음은 css에 관한 것입니다. 사실은 여기에서 지정한 4개 이외에도 .v-enter-to와 .v-leave를 지정하지 않으면 안됩니다만 둘 다 opacity가 1이므로 여기서는 생략할 수 있습니다. 덧붙여서 각각의 CSS 클래스의 의미를 정리하면 다음과 같은 느낌입니다.
또 이번에는 name을 지정하지 않고 디폴트의 v를 사용했습니다만, 가능하면 name은 지정하는 것이 좋다고 생각합니다. transition-group 태그에서 name 을 지정하고 그때 지정한 name 을 css v로 바꿉니다.
참고문헌
Reference
이 문제에 관하여(Bootstrap Card에 transition을 적용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sasakirione/items/765ce8d37f2c8c92bbe6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)