HTML/CSS-プレミアム4編
*アニメーション(アニメーション)
ブラウザの描画順序
2.Layoutキャプチャ:仮想ボックスの作成(width、height、margin、padding...など)
3.シェーディング:ピクセルにシェーディング
4.複合処理:変換、不透明度などの処理
2番属性変更時に2、3、4番を再実行
3番属性変更時に3、4番属性を再実行
4番属性変更時に4番属性を再実行
高速変換の理由
2.ブラウザの描画順序は、最も遅い描画変換であるため、変換を変更すると、Webページの動作速度が速くなります.
詳細プロパティの変換
.box {
transform: rotate(0~360deg);
/* 0~360도 까지 회전 */
transform: translateX(100px);
/* X좌표 100px 이동 */
transform: translateY(100px);
/* Y좌표 100px 이동 */
transform : scale(0~...);
/* 0~원하는 숫자까지 배율 확대 */
/* 굉장히 많은 효과 존재 */
}
各種変換の確認https://developer.mozilla.org/ko/docs/Web/CSS/transform
各種アニメーション効果
2.ANY-WAYアニメ
アニメーションのウォークスルー
*マウスを箱にぶら下げたまま左右に移動
コーディング方法
1.デフォルトのフレームとスタイルを適用する
html
<div class="textbox">
<h4 class="ani-text">Hello</h4>
</div>
css.textbox {
width: 300px;
height: 100px;
margin-left: auto;
margin-right: auto;
margin-top: 200px;
background-color: bisque;
box-sizing: border-box;
}
.ani-text {
font-size: 30px;
text-align: center;
padding-top: 25px;
}
2.アニメーションの適用時期をトリガーcss
.ani-text:hover {
animation-name: moveon;
/* moveon이라는 애니메이션을 적용한다 */
animation-duration: 2s;
/* 애니메이션이 한 사이클을 완료하는 데 소요 시간 : 2초 */
}
3.@キーフレームの作成css
@keyframes moveon {
0% {
transform: translateX(0px);
} /* 애니메이션이 0% 진행됬을때 상태 */
34% {
transform: translateX(-100px);
} /* 애니메이션이 34% 진행됬을때 상태 */
68% {
transform: translateX(100px);
} /* 애니메이션이 68% 진행됬을때 상태 */
100% {
transform: translateX(0px);
} /* 애니메이션이 100% 진행됬을때 상태 */
}
*左右に揺れる動画
コーディング方法
1.デフォルトのフレームとスタイルを適用する
html
<button class="shakeBtn">흔들버튼</button>
css.shakeBtn {
padding: 15px 20px;
font-size: 20px;
background: skyblue;
color: white;
border: none;
border-radius: 5px;
display: block;
margin: 30px auto;
margin-top: 100px;
}
2.アニメーションの適用時期をトリガーcss
.shakeBtn:hover {
animation-name: shake;
animation-duration: 1s;
animation-iteration-count: infinite;
/* 반복실행 횟수 : 무제한 */
}
3.@キーフレームの作成css
@keyframes shake {
0% {
transform: rotate(0deg)
}
25% {
transform: rotate(-8deg);
}
50% {
transform: rotate(8deg);
}
75% {
transform: rotate(-8deg);
}
100% {
transform: rotate(0deg);
}
}
*回転+サイズを大きくする
コーディング方法
1.デフォルトのフレームとスタイルを適用する
html
<div class="turnBtn">+</div>
css.turnBtn {
margin: 150px auto;
text-align: center;
font-size: 70px;
width: 84px;
cursor: pointer;
}
2.アニメーションの適用時期をトリガーcss
.turnBtn:hover {
animation-name: turn;
animation-duration: 1s;
animation-fill-mode: forwards;
/* 마지막 적용된 애니메이션 상태를 유지 */
}
3.@キーフレームの作成css
@keyframes turn {
0% {
transform: rotate(0deg)
}
25% {
transform: rotate(-15deg);
}
100% {
transform: rotate(45deg) scale(1.5);
}
}
*スライドメニュー
コーディング方法
1.デフォルトのフレームとスタイルを適用する
html
<nav class="menuBar">
<h4>menu</h4>
<p>Item</p>
</nav>
cssbody {
margin: 0;
}
.menuBar {
width: 200px;
background: black;
color: white;
height: 100%;
padding: 25px;
position: fixed;
z-index: 5;
text-align: right;
transition: all 1s;
transform: translateX(-150px);
}
.menuBar p {
text-align: center;
}
2.アニメーションの適用時期をトリガーcss
.menuBar:hover {
transform: translateX(0px);
text-align: center;
}
.menuBar:hover p {
animation-name: slide;
animation-duration: 1s;
}
3.@キーフレームの作成css
@keyframes slide {
0% {
transform: translateX(-250px);
}
25% {
transform: translateX(50px) skewX(-30deg);
}
100% {
transform: translateX(0px);
}
}
Reference
この問題について(HTML/CSS-プレミアム4編), 我々は、より多くの情報をここで見つけました https://velog.io/@mj9457/HTML-CSS-고급-4편-rssums4aテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol