transition & transform
11985 ワード
transition & transform
遷移プロパティ
transition-property , transition-duration , transition-timing-function 第二課 transition-delayのショートカット・プロパティ.
このプロパティは、要素の2つのステータス間で変更できます.
要素のステータスは、仮想クラスまたはJavaScriptを使用して動的に作成されます.
Syntax
Example: transition: margin-left 4s;
属性個数属性値1属性値2属性値3属性値4属性値2属性値2属性名持続時間属性3属性名持続時間遅延時間属性4属性名持続時間関数名遅延時間
属性の変換
CSS 3では、transform属性を用いてHTML要素の大きさ、角度、位置等を新たに変換することができる
変換方法の提供
transition-property , transition-duration , transition-timing-function 第二課 transition-delayのショートカット・プロパティ.
このプロパティは、要素の2つのステータス間で変更できます.
要素のステータスは、仮想クラスまたはJavaScriptを使用して動的に作成されます.
Syntax
Example:
transition: margin-left 4s;
属性個数属性値1属性値2属性値3属性値4属性値2属性値2属性名持続時間属性3属性名持続時間遅延時間属性4属性名持続時間関数名遅延時間属性の変換
CSS 3では、transform属性を用いてHTML要素の大きさ、角度、位置等を新たに変換することができる
変換方法の提供
実習
上の効果を見てみましょう(それは私が作ったのです)😁😁😁😁😁😁😁😁😁)
1.box要素のフォント色を変更する
const SelectButton = styled.button`
margin: 5px 0;
line-height: 19px;
text-align: left;
padding: 5px 5px;
cursor: pointer;
font-size: 15px;
font-weight: bold;
font-family: 'NanumBarunGothic';
background: none;
position: relative;
color: #000;
transition: color 0.4s linear;
z-index: 2;
/* border: 1px solid transparent; */
border-radius: 20px;
&:hover {
color: white;
}
&::before {
content: '';
border-radius: 4px;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: ${props => props.theme.buttonBlue};
z-index: -1;
transition: transform 0.5s;
transform-origin: 0 0;
transition-timing-function: cubic-bezier(0.5, 1.6, 0.4, 0.7);
transform: scaleX(0);
}
&:hover::before {
transform: scaleX(1);
}
`;
背景が青になると、文字の色が白くなるのが見えます.まずこれをセットしましょう
「&:hover{}
では、color: white;
を入力してスタイルを適用します.
次に、背景には仮想要素が生成され、背景の色が変化する効果があります.この仮想要素は上のbox要素の後ろにあり、背景色を表示します.box要素自体の背景は何でもないはずです.
したがって、background: none
と入力します.
次にbox要素を変換します.
属性値は1番目のcolor
属性で、2番目は変換効果を数秒持続させ、3番目は変化の開始と終了プロセスが線形に変化するかどうかの値です.transition: color 0.4s linear;
これを行うと、カーソルを上に移動したときにフォントの色が変化する効果も現れます.
2.仮想要素の作成
仮想要素の詳細については、別の記事を参照してください。 우선 가상요소를 만들고, 위치는 box요소 좌측 상단에 놓자
&::before {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
background: black;
}
そして私がしなければならない属性は、左側から低い黒い蓋を広げる効果です. &::before {
content: '';
border-radius: 4px;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: black;
z-index: -1;
transition: transform 0.5s;
transform-origin: 0 0;
transition-timing-function: cubic-bezier(0.5, 1.6, 0.4, 0.7);
transform: scaleX(0);
}
&:hover::before {
transform: scaleX(1);
}
const SelectButton = styled.button`
margin: 5px 0;
line-height: 19px;
text-align: left;
padding: 5px 5px;
cursor: pointer;
font-size: 15px;
font-weight: bold;
font-family: 'NanumBarunGothic';
background: none;
position: relative;
color: #000;
transition: color 0.4s linear;
z-index: 2;
/* border: 1px solid transparent; */
border-radius: 20px;
&:hover {
color: white;
}
&::before {
content: '';
border-radius: 4px;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: ${props => props.theme.buttonBlue};
z-index: -1;
transition: transform 0.5s;
transform-origin: 0 0;
transition-timing-function: cubic-bezier(0.5, 1.6, 0.4, 0.7);
transform: scaleX(0);
}
&:hover::before {
transform: scaleX(1);
}
`;
transition: color 0.4s linear;
우선 가상요소를 만들고, 위치는 box요소 좌측 상단에 놓자
&::before {
content: '';
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
background: black;
}
&::before {
content: '';
border-radius: 4px;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: black;
z-index: -1;
transition: transform 0.5s;
transform-origin: 0 0;
transition-timing-function: cubic-bezier(0.5, 1.6, 0.4, 0.7);
transform: scaleX(0);
}
&:hover::before {
transform: scaleX(1);
}
transition: transform 0.5s;
:transform属性が変化し、持続時間は0.5秒transform: scaleX(0);
:transformプロパティでscaleX()メソッドを使用scaleX()
:CSS X軸方向折り畳み、展開.0完全に折りたたみ、1最大展開transform-origin: 0 0;
:transform効果の開始位置を指定する属性transition-timing-function
:開始から終了までの変化速度時間関数詳細
z-index説明
Reference
この問題について(transition & transform), 我々は、より多くの情報をここで見つけました
https://velog.io/@myway_7/transition-transform
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(transition & transform), 我々は、より多くの情報をここで見つけました https://velog.io/@myway_7/transition-transformテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol