vueの移行アニメを解決するのは正常に実現できません。
前记:最近vueのプロジェクトを书いていますが、移行の効果を実现したいです。vueアニメは得意分野ではないです。ライブラリも多いです。
提案:まずvue公式文書のエントリ/オフ&リスト移行章を勉強します。それではbugを見に来ます。
まず問題が発生したコード
私たちが行きすぎた属性はopacityです。公式文書に対して、私たちは1つのopacityの属性値を追加しました。これはアニメ全体の過程でopacityの値が1で、アニメの中で1から0への移行がないということになります。
この問題の根本的な原因はcss優先度の問題であり、divのcss優先度は動画中のcss属性の優先度よりも遥かに大きいため、opacityの値はあくまでもdivの値であり、遷移の変化は発生しない。
その解決策の一つはもちろんdivの中のopacitryの値を取り除いて、それによってアニメーションの中のopacityだけが存在してそれによってアニメーションを実現させます。
しかし、divの属性が存在する必要があります。私たちはアニメーションを移行する必要があります。impotantこの大神はcssの優先度を変えに行きます。impotantは現在のcssの優先度を最高にすることであり、もちろんimportは優先度が最も低いことである。
さあ正しいコードを付ける
以上のように、vueの移行アニメが正常に実現できない問題は、小編が皆さんに提供している内容の全てです。参考にしていただければと思います。よろしくお願いします。
提案:まずvue公式文書のエントリ/オフ&リスト移行章を勉強します。それではbugを見に来ます。
まず問題が発生したコード
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.haha-leave-active {
transition: opacity .5s;
}
.haha-leave-to /* .fade-leave-active below version 2.1.8 */ {
opacity: 0;
}
#demo{
position: relative;
width: 200px;
height: 200px;
margin: auto;
top: 100px;
}
.bug{
position: relative;
opacity: 1;
}
</style>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body>
<div id="demo">
<button v-on:click="show = !show"> </button>
<transition name="haha">
<div class="bug" v-if="show"> </div>
</transition>
</div>
<script type="text/javascript">
new Vue({
el: '#demo',
data: {
show: true
}
})
</script>
</body>
</html>
以上のコードを見たら本当に問題はありませんが、コピーして貼り付けたらどうやって移行が遅くなりましたか?公式文書をよく読んで違いを探して、繰り返し見ます。私たちが行きすぎた属性はopacityです。公式文書に対して、私たちは1つのopacityの属性値を追加しました。これはアニメ全体の過程でopacityの値が1で、アニメの中で1から0への移行がないということになります。
この問題の根本的な原因はcss優先度の問題であり、divのcss優先度は動画中のcss属性の優先度よりも遥かに大きいため、opacityの値はあくまでもdivの値であり、遷移の変化は発生しない。
その解決策の一つはもちろんdivの中のopacitryの値を取り除いて、それによってアニメーションの中のopacityだけが存在してそれによってアニメーションを実現させます。
しかし、divの属性が存在する必要があります。私たちはアニメーションを移行する必要があります。impotantこの大神はcssの優先度を変えに行きます。impotantは現在のcssの優先度を最高にすることであり、もちろんimportは優先度が最も低いことである。
さあ正しいコードを付ける
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.haha-leave-active {
transition: opacity .5s;
}
.haha-leave-to /* .fade-leave-active below version 2.1.8 */ {
opacity: 0;
}
#demo{
position: relative;
width: 200px;
height: 200px;
margin: auto;
top: 100px;
}
.bug{
position: relative;
opacity: 1 important;
}
</style>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
</head>
<body>
<div id="demo">
<button v-on:click="show = !show"> </button>
<transition name="haha">
<div class="bug" v-if="show"> </div>
</transition>
</div>
<script type="text/javascript">
new Vue({
el: '#demo',
data: {
show: true
}
})
</script>
</body>
</html>
このようにして、移行効果を実現することもできますし、divにおいて優先度の高いcss属性を外すこともできません。以上のように、vueの移行アニメが正常に実現できない問題は、小編が皆さんに提供している内容の全てです。参考にしていただければと思います。よろしくお願いします。