Transform 3D
Transform 3D
要素の3 D変換効果の処理方法について説明します.
パース(投影点)
表示者の位置を推定して投影点を指定することで、3 D環境を作成できます.つまり、離れたものが小さくなり、近づいたものが大きくなり、遠近感を生む効果があります.
perspective property
パース距離を値として指定するには、パース効果要素の親要素にパース属性を指定します.
同じピボット効果をサブエレメントに簡単に適用できます..container {
width: 150px;
height: 150px;
border: 4px solid;
margin: 100px;
/* 원근효과를 위한 요소의 상위요소에 지정 */
perspective: 300px;
/* 원근효과의 기준점 */
perspective-origin: 50% 50%;
}
.container .item {
width: 150px;
height: 150px;
background-color: orange;
transition-duration: 1s;
}
.container .item:hover {
transform: rotateY(45deg);
}
perspective-origin
上記のコードのperspective
に関連するプロパティは、パースビューの開始の基点を指定するために使用されます.デフォルト値が50%の要素の中心は、x軸とy軸に相当します.perspective-origin: 50% 50%;
transform: perspective
サブエレメントにパースビューの投影点を設定すると、perspetive
関数がサブエレメントの変換プロパティの値として与えられ、カッコに数値が入力されます..container {
width: 150px;
height: 150px;
border: 4px solid;
margin: 100px
}
.container .item {
width: 150px;
height: 150px;
background-color: orange;
/* 요소 정렬 기준 지정 */
/* 기본값 요소 한가운데 */
/* transform-origin: 50% 50%; */
transition-duration: 1s;
transform-origin: 100% 50%;
}
.container .item:hover {
/* 요소 정가운데 기준으로 회전 */
/* transform: rotate(45deg); */
transform: perspective(300px) rotateY(45deg);
}
transform-style
CSSの親要素に3 D変換効果が適用されている場合、既定では、3 D変換効果は子要素に適用されます.このために使用される属性はtransform-style
属性である.
この点は、最初のサブアイテムにのみ適用され、必要に応じてプロパティ値を繰り返し使用する必要があります..container {
width: 150px;
height: 150px;
border: 4px solid;
margin: 100px;
perspective: 300px;
}
.container .item {
width: 150px;
height: 150px;
background-color: orange;
transform: rotateY(45deg);
/* transform-style: flat; 기본값으로 flat으로 위에서 설명한 하위 요소의 3차원 변환효과를 막는다. */
transform-style: preserve-3d; /* 하위 요소의 3차원 변환효과를 적용하게 해준다. */
}
.container .item .box {
width: 100px;
height: 100px;
background-color: royalblue;
transform: rotateX(45deg);
}
backface-visibility
エレメントの背面を表示するかどうかを設定します.
高度3 Dの効果は、次の方法で実現できます.
.container {
width: 150px;
height: 150px;
border: 4px solid;
margin: 100px;
/* 원근효과를 위한 요소의 상위요소에 지정 */
perspective: 300px;
/* 원근효과의 기준점 */
perspective-origin: 50% 50%;
}
.container .item {
width: 150px;
height: 150px;
background-color: orange;
transition-duration: 1s;
}
.container .item:hover {
transform: rotateY(45deg);
}
perspective-origin: 50% 50%;
.container {
width: 150px;
height: 150px;
border: 4px solid;
margin: 100px
}
.container .item {
width: 150px;
height: 150px;
background-color: orange;
/* 요소 정렬 기준 지정 */
/* 기본값 요소 한가운데 */
/* transform-origin: 50% 50%; */
transition-duration: 1s;
transform-origin: 100% 50%;
}
.container .item:hover {
/* 요소 정가운데 기준으로 회전 */
/* transform: rotate(45deg); */
transform: perspective(300px) rotateY(45deg);
}
.container {
width: 150px;
height: 150px;
border: 4px solid;
margin: 100px;
perspective: 300px;
}
.container .item {
width: 150px;
height: 150px;
background-color: orange;
transform: rotateY(45deg);
/* transform-style: flat; 기본값으로 flat으로 위에서 설명한 하위 요소의 3차원 변환효과를 막는다. */
transform-style: preserve-3d; /* 하위 요소의 3차원 변환효과를 적용하게 해준다. */
}
.container .item .box {
width: 100px;
height: 100px;
background-color: royalblue;
transform: rotateX(45deg);
}
Reference
この問題について(Transform 3D), 我々は、より多くの情報をここで見つけました https://velog.io/@codenmh0822/Transform-3Dテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol