210907タイトルエリアアニメーション
13714 ワード
ボタンを押したときに表示されるヘッダーバックグラウンドイメージは、実行するアニメーションがscaleであると判断し、コードを記述しましたが、実行できません
参照动漫效果
私が作成したコード(エラー)
/* scss 형식 */
.pre {
@include button;
left: 20px;
opacity: 0;
&:active {
.headers {
animation: scale 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
}
}
アニメーショントリガ
だから私は鐘沢にアドバイスを求めた.
cssアニメーション効果をあげたい
배경이미지가 변경될 때마다
まずcssアニメーショントリガを与える方法を知っておく必要がありますこのサイトの内容は参考まで
CSS 애니메이션
1つのCSSスタイルから→別の構成へのWeb要素の変換をサポート트리거
クラスの追加と削除に依存するアクティビティAMPとは?
どうすればいいのか悩んだが、その部分は哲鎮に助けられた.
問題解決プロセス1
<div
className={`headers ${this.makeClass(currentSlide)}`}
style={{ backgroundImage: imgArr[currentSlide] }}
></div>
@keyframes scaleStyle {
0% {
transform: scale(1.2);
opacity: 0.2;
}
100% {
transform: scale(1);
opacity: 0.7;
}
}
/* scss형식 */
.headers {
position: relative;
height: 600px;
margin-bottom: 80px;
padding-right: 20px;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
opacity: 0.6;
&.scaleAnimation {
animation: scaleOne 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
このようなアニメーション効果を実行してみましたが、起動しませんでした.その理由がまだ見つからず、見つけようとしたら記録して・・・
問題解決プロセス2
makeClass = current => {
const obj = {
0: 'odd',
1: 'even',
2: 'odd',
3: 'even',
4: 'odd',
5: 'even'
};
return obj[current];
};
@keyframes scaleOne {
0% {
transform: scale(1.2);
opacity: 0.2;
}
100% {
transform: scale(1);
opacity: 0.7;
}
}
@keyframes scaleTwo {
0% {
transform: scale(1.2);
opacity: 0.2;
}
100% {
transform: scale(1);
opacity: 0.7;
}
}
/* scss 형식 */
.headers {
position: relative;
height: 600px;
margin-bottom: 80px;
padding-right: 20px;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
opacity: 0.6;
&.odd {
animation: scaleOne 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
&.even {
animation: scaleTwo 0.6s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
だから上のコードのようです.1番目、3番目、5番目のアニメーション名と
2番目、4番目、6番目のアニメーションの名前を同じにします.
1つ目が2つ目に移行すると、別のアニメーションを実行することを指定します(実際には内容は同じですが、異なる名前しか指定されていません)、驚くべきことに実行されました.
Reference
この問題について(210907タイトルエリアアニメーション), 我々は、より多くの情報をここで見つけました https://velog.io/@beanlove97/210907-헤더영역-애니메이션テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol