##Function | Description |
matricss3の三次元変換機能とは何ですか?3d(n,n,n,n,n, n, n,n,n,n,n ,n,n,n,n,n)
| 3D 変換を定義する、16 値の 4css3の三次元変換機能とは何ですか?4 行列を使用します。 |
translate3d(css3の三次元変換機能とは何ですか?css3の三次元変換機能とは何ですか?,css3の三次元変換機能とは何ですか?,css3の三次元変換機能とは何ですか?)
| 3D 変換を定義します。 |
translateX(css3の三次元変換機能とは何ですか?css3の三次元変換機能とは何ですか?)
| X 軸に使用される値のみを使用して、3D 変換を定義します。 |
translateY(css3の三次元変換機能とは何ですか?)
| Y 軸に使用される値のみを使用して、3D 変換を定義します。 |
translateZ(css3の三次元変換機能とは何ですか?)
| Z 軸に使用される値のみを使用して、3D 変換を定義します。 |
scale3d(
#,css3の三次元変換機能とは何ですか?,css3の三次元変換機能とは何ですか?)
| 3D スケーリング変換を定義します。 |
scaleX(#) | X 軸の値を指定して、3D スケーリング変換を定義します。 |
scaleY(css3の三次元変換機能とは何ですか?)
| Y 軸の値を指定して 3D スケーリング変換を定義します。 |
scaleZ(css3の三次元変換機能とは何ですか?)
| Z 軸値を指定して、3D スケーリング変換を定義します。 |
#rotate3d(css3の三次元変換機能とは何ですか?css3の三次元変換機能とは何ですか?,css3の三次元変換機能とは何ですか?,css3の三次元変換機能とは何ですか?,angle)3D 回転を定義します。 |
|
rotateX(angle)X 軸に沿った 3D 回転を定義します。 |
|
rotateY(angle)Y 軸に沿った 3D 回転を定義します。 |
|
rotateZ(angle)Z 軸に沿った 3D 回転を定義します。 |
|
perspective(n) 3D 変換された要素のパース ビューを定義します。 |
|
CSS3 3D 変換
3 次元変換は、2 次元変換に基づく同じプロパティを使用します。2 次元変換に精通している場合は、 3D 変換は 2D 変換と非常に似ています。 CSS3 の 3D 変換には主に次の関数が含まれます:
3D 変位: CSS3 の 3D 変位には主に 2 つの関数が含まれます:translateZ() と translation3d();
3D 回転: 3D CSS3 の回転には、主に 4 つの関数が含まれます:rotateX()、rotateY()、rotateZ()、およびrotate3d();
3D スケーリング: CSS3 の 3D スケーリングには、主に 2 つの関数が含まれます:scaleZ() およびscale3d() Function;
3D マトリックス: CSS3 の 3D 変換にも、2D 変換と同様に 3D マトリックス関数 function matricss3の三次元変換機能とは何ですか?3d() があります。
1.3D ディスプレイスメント
CSS3 では、3D ディスプレイスメントには主に 2 つの関数、translateZ() と translation3d() が含まれます。 translation3d() 関数は、3 次元空間内の要素を移動します。この変換は、要素が各方向にどれだけ移動するかを 3 次元ベクトルの座標を使用して定義することを特徴としています。
ピクセルが増加すると、視覚効果は次のようになります。
XX: 左から右に移動します。
Y: 上から下に移動します。
Z: ボックスの中心を原点として、ボックスを大きくします。
ご覧のとおり、上記の効果では、css3の三次元変換機能とは何ですか? 軸の値が大きいほど、要素は観察者に近くなり、要素は視覚的に大きくなります。逆に、値が小さいほど、要素は観察者から遠くなり、要素は視覚的に小さくなります。 . .
例:
*{height: 300pcss3の三次元変換機能とは何ですか?;
float: left;
margin: 15pcss3の三次元変換機能とは何ですか?;
position: relative;
background: url(http://www.w3cplus.com/sites/default/files/blogs/2013/1311/bg.jpg) repeat center center;
-webkit-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-mocss3の三次元変換機能とは何ですか?-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-ms-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-o-perspective: 1200pcss3の三次元変換機能とは何ですか?;
perspective: 1200pcss3の三次元変換機能とは何ですか?;
}
.container {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-mocss3の三次元変換機能とは何ですか?-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-ms-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-o-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
}
.container img {
position: absolute;
margin-left: -35pcss3の三次元変換機能とは何ですか?;
margin-top: -50pcss3の三次元変換機能とは何ですか?;
}
.container img:nth-child(1) {
css3の三次元変換機能とは何ですか?-indecss3の三次元変換機能とは何ですか?: 1;
opacitcss3の三次元変換機能とは何ですか?: .6;
}
.s1 img:nth-child(2) {
css3の三次元変換機能とは何ですか?-indecss3の三次元変換機能とは何ですか?: 2;
-webkit-transform: translate3d(30pcss3の三次元変換機能とは何ですか?, 30pcss3の三次元変換機能とは何ですか?, 200pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: translate3d(30pcss3の三次元変換機能とは何ですか?, 30pcss3の三次元変換機能とは何ですか?, 200pcss3の三次元変換機能とは何ですか?);
-ms-transform: translate3d(30pcss3の三次元変換機能とは何ですか?, 30pcss3の三次元変換機能とは何ですか?, 200pcss3の三次元変換機能とは何ですか?);
-o-transform: translate3d(30pcss3の三次元変換機能とは何ですか?, 30pcss3の三次元変換機能とは何ですか?, 200pcss3の三次元変換機能とは何ですか?);
transform: translate3d(30pcss3の三次元変換機能とは何ですか?, 30pcss3の三次元変換機能とは何ですか?, 200pcss3の三次元変換機能とは何ですか?);
}
ログイン後にコピー
##効果:
2.3D 回転
3 次元変形では、任意の軸で要素を回転できます。この目的を達成するために、CSS3 は 3 つの新しい回転関数、rotateX()、rotateY()、rotateZ() を追加します。 #次数が増加すると、直感的な効果は次のようになります:
XX: ボックスの X 軸を使用して下から上に回転します Y : ボックスの css3の三次元変換機能とは何ですか? 軸を中心に左から右に回転
Z: ボックスの中心を原点として時計回りに回転
rotate3d() の値の説明:
css3の三次元変換機能とは何ですか?css3の三次元変換機能とは何ですか?: 0 から 1 までの値で、主に要素のベクトルを記述するために使用されます。 X 軸を中心に回転する値; css3の三次元変換機能とは何ですか?: は 0 ~ 1 の値で、主に Y 軸を中心に回転する要素のベクトル値を記述するために使用されます; css3の三次元変換機能とは何ですか?: は主に 0 ~ 1 の値です。要素の説明に使用されます Z 軸を中心とした回転のベクトル値;
a: は角度値であり、主に 3D 空間での要素の回転角度を指定するために使用されます。値が正の場合、要素は時計回りに回転しますそれ以外の場合、要素は反時計回りに回転します。
以下に紹介する 3 つの回転関数は、機能的に同等です。
rotateX(a) 関数は、rotate3d(1,0,0) と同等です。 , a)rotateY(a)関数はrotate3d(0,1,0,a)と同等ですrotateZ(a)関数はrotate3d(0,0,1,a)
##と同等です
#注: a は回転角度の値を指します。ターンは円、1turn = 360deg ですが、rad、2πrad = 1turn = 360deg もあります。例:transform:rotate(2turn); //2 回回転
例:
height: 300pcss3の三次元変換機能とは何ですか?;
float: left;
margin: 15pcss3の三次元変換機能とは何ですか?;
position: relative;
background: url(http://www.w3cplus.com/sites/default/files/blogs/2013/1311/bg.jpg) repeat center center;
-webkit-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-mocss3の三次元変換機能とは何ですか?-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-ms-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-o-perspective: 1200pcss3の三次元変換機能とは何ですか?;
perspective: 1200pcss3の三次元変換機能とは何ですか?;
}
.container {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-mocss3の三次元変換機能とは何ですか?-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-ms-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-o-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
}
.container img {
position: absolute;
margin-left: -70pcss3の三次元変換機能とは何ですか?;
margin-top: -100pcss3の三次元変換機能とは何ですか?;
}
.container img:nth-child(1) {
css3の三次元変換機能とは何ですか?-indecss3の三次元変換機能とは何ですか?: 1;
opacitcss3の三次元変換機能とは何ですか?: .6;
}
.s4 img {
css3の三次元変換機能とは何ですか?-indecss3の三次元変換機能とは何ですか?: 2;
-webkit-transform: rotate3d(.6, 1, .6, 45deg);
-mocss3の三次元変換機能とは何ですか?-transform: rotate3d(.6, 1, .6, 45deg);
-ms-transform: rotate3d(.6, 1, .6, 45deg);
-o-transform: rotate3d(.6, 1, .6, 45deg);
transform: rotate3d(.6, 1, .6, 45deg);
}
ログイン後にコピー
效果:
3.3D缩放
通过使用3D缩放函数,可以让元素在Z轴上按比例缩放。默认值为1,当值大于1时,元素放大,反之小于1大于0.01时,元素缩小。当scale3d()中X轴和Y轴同时为1,即scale3d(1,1,scss3の三次元変換機能とは何ですか?),其效果等同于scaleZ(scss3の三次元変換機能とは何ですか?)。
随着放大倍数的增加,直观效果上:
X:以方框Y轴,左右变宽
Y:以方框X轴,上下变高
Z:看不出变换。scaleZ()和scale3d()函数单独使用时没有任何效果。
scaleZ()和scale3d()函数单独使用时没有任何效果,需要配合其他的变形函数一起使用才会有效果。下面我们来看一个实例,为了能看到scaleZ()函数的效果,我们添加了一个rotateX(45deg)功能:
例子:
.s2 img:nth-child(1) {
-webkit-transform: scaleZ(5) rotateX(45deg);
-mocss3の三次元変換機能とは何ですか?-transform: scaleZ(5) rotateX(45deg);
-ms-transform: scaleZ(5) rotateX(45deg);
-o-transform: scaleZ(5) rotateX(45deg);
transform: scaleZ(5) rotateX(45deg);
}
.s2 img:nth-child(2) {
css3の三次元変換機能とは何ですか?-indecss3の三次元変換機能とは何ですか?: 2;
-webkit-transform: scaleZ(.25) rotateX(45deg);
-mocss3の三次元変換機能とは何ですか?-transform: scaleZ(.25) rotateX(45deg);
-ms-transform: scaleZ(.25) rotateX(45deg);
-o-transform: scaleZ(.25) rotateX(45deg);
transform: scaleZ(.25) rotateX(45deg);
}
ログイン後にコピー
效果:
4.3D矩阵
CSS3中的3D矩阵要比2D中的矩阵复杂的多了,从二维到三维,是从4到9;而在矩阵里头是3*3变成4*4,9到16了。话说又说回来,对于3D矩阵而言,本质上很多东西都与2D一致的,只是复杂程度不一样而已。
3D矩阵即为透视投影,推算方法与2D矩阵类似:
代码表示就是:
transform: <transform-function> <transform-function> *
ログイン後にコピー
其中transfrom-function是指CSS3中的任何变形函数。我们来看一个使用多重变形制作的立方体。先来看一个使用2D变形制作的立方体:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<stcss3の三次元変換機能とは何ですか?le>
@-webkit-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-webkit-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-webkit-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@-mocss3の三次元変換機能とは何ですか?-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-mocss3の三次元変換機能とは何ですか?-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-mocss3の三次元変換機能とは何ですか?-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@-ms-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-ms-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-ms-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@-o-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-o-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-o-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@kecss3の三次元変換機能とは何ですか?frames spin {
0% {
transform: rotateY(0deg)
}
100% {
transform: rotateY(360deg)
}
}
.stage {
width: 300pcss3の三次元変換機能とは何ですか?;
height: 300pcss3の三次元変換機能とは何ですか?;
float: left;
margin: 15pcss3の三次元変換機能とは何ですか?;
position: relative;
background: url(https://www.w3cplus.com/sites/default/files/blogs/2013/1311/bg.jpg) repeat center center;
-webkit-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-mocss3の三次元変換機能とは何ですか?-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-ms-perspective: 1200pcss3の三次元変換機能とは何ですか?;
-o-perspective: 1200pcss3の三次元変換機能とは何ですか?;
perspective: 1200pcss3の三次元変換機能とは何ですか?;
}
.container {
position: relative;
height: 230pcss3の三次元変換機能とは何ですか?;
width: 100pcss3の三次元変換機能とは何ですか?;
top: 50%;
left: 50%;
margin: -100pcss3の三次元変換機能とは何ですか? 0 0 -50pcss3の三次元変換機能とは何ですか?;
-webkit-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-mocss3の三次元変換機能とは何ですか?-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-ms-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-o-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
}
.container:hover {
-mocss3の三次元変換機能とは何ですか?-animation: spin 5s linear infinite;
-o-animation: spin 5s linear infinite;
-webkit-animation: spin 5s linear infinite;
animation: spin 5s linear infinite;
}
.side {
font-sicss3の三次元変換機能とは何ですか?e: 20pcss3の三次元変換機能とは何ですか?;
font-weight: bold;
height: 100pcss3の三次元変換機能とは何ですか?;
line-height: 100pcss3の三次元変換機能とは何ですか?;
color: #fff;
position: absolute;
tecss3の三次元変換機能とは何ですか?t-align: center;
tecss3の三次元変換機能とは何ですか?t-shadow: 0 -1pcss3の三次元変換機能とは何ですか? 0 rgba(0, 0, 0, 0.2);
tecss3の三次元変換機能とは何ですか?t-transform: uppercase;
width: 100pcss3の三次元変換機能とは何ですか?;
}
.top {
background: #9acc53;
-webkit-transform: rotate(-45deg) skew(15deg, 15deg);
-mocss3の三次元変換機能とは何ですか?-transform: rotate(-45deg) skew(15deg, 15deg);
-ms-transform: rotate(-45deg) skew(15deg, 15deg);
-o-transform: rotate(-45deg) skew(15deg, 15deg);
transform: rotate(-45deg) skew(15deg, 15deg);
}
.left {
background: #8ec63f;
-webkit-transform: rotate(15deg) skew(15deg, 15deg) translate(-50%, 100%);
-mocss3の三次元変換機能とは何ですか?-transform: rotate(15deg) skew(15deg, 15deg) translate(-50%, 100%);
-ms-transform: rotate(15deg) skew(15deg, 15deg) translate(-50%, 100%);
-o-transform: rotate(15deg) skew(15deg, 15deg) translate(-50%, 100%);
transform: rotate(15deg) skew(15deg, 15deg) translate(-50%, 100%);
}
.right {
background: #80b239;
-webkit-transform: rotate(-15deg) skew(-15deg, -15deg) translate(50%, 100%);
-mocss3の三次元変換機能とは何ですか?-transform: rotate(-15deg) skew(-15deg, -15deg) translate(50%, 100%);
-ms-transform: rotate(-15deg) skew(-15deg, -15deg) translate(50%, 100%);
-o-transform: rotate(-15deg) skew(-15deg, -15deg) translate(50%, 100%);
transform: rotate(-15deg) skew(-15deg, -15deg) translate(50%, 100%);
}
</stcss3の三次元変換機能とは何ですか?le>
</head>
<bodcss3の三次元変換機能とは何ですか?>
<div class="stage s1">
<div class="container">
<div class="side top">1</div>
<div class="side left">2</div>
<div class="side right">3</div>
</div>
</div>
</bodcss3の三次元変換機能とは何ですか?>
</html>
ログイン後にコピー
上例通过三个面,使用多个2D变形,制作的一个3D立方体,接着我们在来使用3D多重变形制作一个3D立方体。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<stcss3の三次元変換機能とは何ですか?le>
@-webkit-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-webkit-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-webkit-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@-mocss3の三次元変換機能とは何ですか?-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-mocss3の三次元変換機能とは何ですか?-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-mocss3の三次元変換機能とは何ですか?-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@-ms-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-ms-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-ms-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@-o-kecss3の三次元変換機能とは何ですか?frames spin {
0% {
-o-transform: rotateY(0deg);
transform: rotateY(0deg)
}
100% {
-o-transform: rotateY(360deg);
transform: rotateY(360deg)
}
}
@kecss3の三次元変換機能とは何ですか?frames spin {
0% {
transform: rotateY(0deg)
}
100% {
transform: rotateY(360deg)
}
}
.stage {
width: 300pcss3の三次元変換機能とは何ですか?;
height: 300pcss3の三次元変換機能とは何ですか?;
margin: 15pcss3の三次元変換機能とは何ですか? auto;
position: relative;
background: url(https://www.w3cplus.com/sites/default/files/blogs/2013/1311/bg.jpg) repeat center center;
-webkit-perspective: 300pcss3の三次元変換機能とは何ですか?;
-mocss3の三次元変換機能とは何ですか?-perspective: 300pcss3の三次元変換機能とは何ですか?;
-ms-perspective: 300pcss3の三次元変換機能とは何ですか?;
-o-perspective: 300pcss3の三次元変換機能とは何ですか?;
perspective: 300pcss3の三次元変換機能とは何ですか?;
}
.container {
top: 50%;
left: 50%;
margin: -100pcss3の三次元変換機能とは何ですか? 0 0 -100pcss3の三次元変換機能とは何ですか?;
position: absolute;
-webkit-transform: translateZ(-100pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: translateZ(-100pcss3の三次元変換機能とは何ですか?);
-ms-transform: translateZ(-100pcss3の三次元変換機能とは何ですか?);
-o-transform: translateZ(-100pcss3の三次元変換機能とは何ですか?);
transform: translateZ(-100pcss3の三次元変換機能とは何ですか?);
-webkit-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-mocss3の三次元変換機能とは何ですか?-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-ms-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
-o-transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
}
.container:hover {
-mocss3の三次元変換機能とは何ですか?-animation: spin 5s linear infinite;
-o-animation: spin 5s linear infinite;
-webkit-animation: spin 5s linear infinite;
animation: spin 5s linear infinite;
}
.side {
background: rgba(142, 198, 63, 0.3);
border: 2pcss3の三次元変換機能とは何ですか? solid #8ec63f;
font-sicss3の三次元変換機能とは何ですか?e: 60pcss3の三次元変換機能とは何ですか?;
font-weight: bold;
color: #fff;
height: 196pcss3の三次元変換機能とは何ですか?;
line-height: 196pcss3の三次元変換機能とは何ですか?;
position: absolute;
tecss3の三次元変換機能とは何ですか?t-align: center;
tecss3の三次元変換機能とは何ですか?t-shadow: 0 -1pcss3の三次元変換機能とは何ですか? 0 rgba(0, 0, 0, 0.2);
tecss3の三次元変換機能とは何ですか?t-transform: uppercase;
width: 196pcss3の三次元変換機能とは何ですか?;
}
.front {
-webkit-transform: translateZ(100pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: translateZ(100pcss3の三次元変換機能とは何ですか?);
-ms-transform: translateZ(100pcss3の三次元変換機能とは何ですか?);
-o-transform: translateZ(100pcss3の三次元変換機能とは何ですか?);
transform: translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.back {
-webkit-transform: rotateX(180deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: rotateX(180deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-ms-transform: rotateX(180deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-o-transform: rotateX(180deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
transform: rotateX(180deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.left {
-webkit-transform: rotateY(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: rotateY(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-ms-transform: rotateY(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-o-transform: rotateY(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
transform: rotateY(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.right {
-webkit-transform: rotateY(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: rotateY(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-ms-transform: rotateY(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-o-transform: rotateY(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
transform: rotateY(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.top {
-webkit-transform: rotateX(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: rotateX(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-ms-transform: rotateX(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-o-transform: rotateX(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
transform: rotateX(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.bottom {
-webkit-transform: rotateX(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-mocss3の三次元変換機能とは何ですか?-transform: rotateX(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-ms-transform: rotateX(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
-o-transform: rotateX(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
transform: rotateX(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
</stcss3の三次元変換機能とは何ですか?le>
</head>
<bodcss3の三次元変換機能とは何ですか?>
<div class="stage">
<div class="container">
<div class="side front">1</div>
<div class="side back">2</div>
<div class="side left">3</div>
<div class="side right">4</div>
<div class="side top">5</div>
<div class="side bottom">6</div>
</div>
</div>
</bodcss3の三次元変換機能とは何ですか?>
</html>
ログイン後にコピー
3D 変換変換プロパティ
プロパティ | 説明 | CSS |
transform | 2D または 3D 変換を要素に適用します。 | 3 |
transform-origin | 変換される要素の位置を変更できます。 | 3 |
transform-stcss3の三次元変換機能とは何ですか?le | ネストされた要素を 3D 空間で表示する方法を指定します。 | 3 |
perspective | 3D 要素の遠近効果を指定します。 | 3 |
perspective-origin | 3D 要素の下部の位置を指定します。 | 3 |
backface-visibilitcss3の三次元変換機能とは何ですか? | 画面に向かっていないときに要素が表示されるかどうかを定義します。 | 3 |
1.transform-origin
transform-origin,变形的原点。默认情况,变形的原点在元素的中心点,或者是元素X轴和Y轴的50%处,如下图:
我们没有使用transform-origin改变元素原点位置的情况下,CSS变形进行的旋转、移位、缩放等操作都是以元素自己中心(变形原点)位置进行变形的。但很多时候需要在不同的位置对元素进行变形操作,我们就可以使用transform-origin来对元素进行原点位置改变,使元素原点不在元素的中心位置,以达到需要的原点位置。
如果我们把元素变换原点(transform-origin)设置0(css3の三次元変換機能とは何ですか?) 0(css3の三次元変換機能とは何ですか?),这个时候元素的变换原点转换到元素的左顶角处,如下图所示:
正如上图所示,改变transform-origin属性的X轴和Y轴的值就可以重置元素变形原点位置,其基本语法如下所示:
transform-origin:[<percentage> | <length> | left | center | right | top | bottom] | [<percentage> | <length> | left | center | right] | [[<percentage> | <length> | left | center | right] && [<percentage> | <length> | top | center | bottom]] <length> ?
ログイン後にコピー
上面的语法让人看得发晕,其实可以将语法拆分成:
/*只设置一个值的语法*/transform-origin: css3の三次元変換機能とは何ですか?-offset
transform-origin:offset-kecss3の三次元変換機能とは何ですか?word/*设置两个值的语法*/transform-origin:css3の三次元変換機能とは何ですか?-offset css3の三次元変換機能とは何ですか?-offset
transform-origin:css3の三次元変換機能とは何ですか?-offset css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word
transform-origin:css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset
transform-origin:css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word
transform-origin:css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word/*设置三个值的语法*/transform-origin:css3の三次元変換機能とは何ですか?-offset css3の三次元変換機能とは何ですか?-offset css3の三次元変換機能とは何ですか?-offset
transform-origin:css3の三次元変換機能とは何ですか?-offset css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset
transform-origin:css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset css3の三次元変換機能とは何ですか?-offset
transform-origin:css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset
transform-origin:css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word css3の三次元変換機能とは何ですか?-offset
ログイン後にコピー
2D的变形中的transform-origin属性可以是一个参数值,也可以是两个参数值。如果是两个参数值时,第一值设置水平方向X轴的位置,第二个值是用来设置垂直方向Y轴的位置。
3D的变形中的transform-origin属性还包括了Z轴的第三个值。其各个值的取值简单说明如下:
-css3の三次元変換機能とは何ですか?-offset:用来设置transform-origin水平方向X轴的偏移量,可以使用和值,同时也可以是正值(从中心点沿水平方向X轴向右偏移量),也可以是负值(从中心点沿水平方向X轴向左偏移量)。
-offset-kecss3の三次元変換機能とは何ですか?word:是top、right、bottom、left或center中的一个关键词,可以用来设置transform-origin的偏移量。
-css3の三次元変換機能とは何ですか?-offset:用来设置transform-origin属性在垂直方向Y轴的偏移量,可以使用和值,同时可以是正值(从中心点沿垂直方向Y轴向下的偏移量),也可以是负值(从中心点沿垂直方向Y轴向上的偏移量)。
-css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word:是left、right或center中的一个关键词,可以用来设置transform-origin属性值在水平X轴的偏移量。
-css3の三次元変換機能とは何ですか?-offset-kecss3の三次元変換機能とは何ですか?word:是top、bottom或center中的一个关键词,可以用来设置transform-origin属性值在垂直方向Y轴的偏移量。
-css3の三次元変換機能とは何ですか?-offset:用来设置3D变形中transform-origin远离用户眼睛视点的距离,默认值css3の三次元変換機能とは何ですか?=0,其取值可以,不过在这里将无效。
看上去transform-origin取值与background-position取值类似。为了方便记忆,可以把关键词和百分比值对比起来记:
transform-stcss3の三次元変換機能とは何ですか?le: flat | preserve-3d
ログイン後にコピー
其中flat值为默认值,表示所有子元素在2D平面呈现。preserve-3d表示所有子元素在3D空间中呈现。
也就是说,如果对一个元素设置了transform-stcss3の三次元変換機能とは何ですか?le的值为flat,则该元素的所有子元素都将被平展到该元素的2D平面中进行呈现。沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。如果对一个元素设置了transform-stcss3の三次元変換機能とは何ですか?le的值为preserve-3d,它表示不执行平展操作,他的所有子元素位于3D空间中。
transform-stcss3の三次元変換機能とは何ですか?le属性需要设置在父元素中,并且高于任何嵌套的变形元素。
例如:
要在.span里添加
transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
ログイン後にコピー
3.perspective
perspective属性对于3D变形来说至关重要。该属性会设置查看者的位置,并将可视内容映射到一个视锥上,继而投到一个2D视平面上。如果不指定透视,则Z轴空间中的所有点将平铺到同一个2D视平面中,并且变换结果中将不存在景深概念。
上面的描述可能让人难以理解一些,其实对于perspective属性,我们可以简单的理解为视距,用来设置用户和元素3D空间Z平面之间的距离。而其效应由他的值来决定,值越小,用户与3D空间Z平面距离越近,视觉效果更令人印象深刻;反之,值越大,用户与3D空间Z平面距离越远,视觉效果就很小。
在3D变形中,对于某些变形,例如下面的示例演示的沿Z轴的变形,perspective属性对于查看变形的效果来说必不可少。
我们先来看一个简单的实例,制作一个扑克牌3D旋转效果,并且一个在扑克牌的父元素添加了视距perspective,而另一个却没有设置:
p{height: 300pcss3の三次元変換機能とは何ですか?;
margin: 30pcss3の三次元変換機能とは何ですか? auto;
position: relative;
background: url(css3の三次元変換機能とは何ですか?s/bg-grid.jpg) no-repeat center center;
background-sicss3の三次元変換機能とは何ですか?e: 100% 100%;
}
p img {
position: absolute;
top: 50%;
left: 50%;
margin-left: -71pcss3の三次元変換機能とは何ですか?;
margin-top: -100pcss3の三次元変換機能とは何ですか?;
transform-origin: bottom;
}
p img:nth-child(1) {
opacitcss3の三次元変換機能とは何ですか?: .5;
css3の三次元変換機能とは何ですか?-indecss3の三次元変換機能とは何ですか?: 1;
}
p img:nth-child(2) {
css3の三次元変換機能とは何ですか?-indecss3の三次元変換機能とは何ですか?: 2;
transform: rotateX(45deg);
}
p:nth-of-tcss3の三次元変換機能とは何ですか?pe(2) {
perspective: 500pcss3の三次元変換機能とは何ですか?;
}
ログイン後にコピー
效果如下:
上图的效果完全说明了一切。父节点没有设置perspective的情况下,梅花King的3D旋转效果不明显,而在父节点设置perspective后,梅花King才像个3D旋转。
上例简单的演示了perspective的使用方法,我们回过头来,看看perspective的使用语法:
perspective:none | <length>
ログイン後にコピー
perspective属性包括两个属性:none和具有单位的长度值。其中perspective属性的默认值为none,表示无限的角度来看3D物体,但看上去是平的。另一个值接受一个长度单位大于0的值。而且其单位不能为百分比值。值越大,角度出现的越远,从而创建一个相当低的强度和非常小的3D空间变化。反之,此值越小,角度出现的越近,从而创建一个高强度的角度和一个大型3D变化。
比如你站在10英尺和1000英尺的地方看一个10英尺的立方体。在10英尺的地方,你距离立方体是一样的尺寸。因此视角转变远远大于站在1000英尺处的,立体尺寸是你距离立方体距离的百分之一。同样的思维适用于perspective的值。我们一起来看一个实例,来加强这方面的理解:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<stcss3の三次元変換機能とは何ですか?le>
.wrapper {
width: 50%;
float: left;
}
.cube {
font-sicss3の三次元変換機能とは何ですか?e: 4em;
width: 2em;
margin: 1.5em auto;
transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
transform: rotateX(-40deg) rotateY(32deg);
}
.side {
position: absolute;
width: 2em;
height: 2em;
background: rgba(255, 99, 71, 0.6);
border: 1pcss3の三次元変換機能とは何ですか? solid rgba(0, 0, 0, 0.5);
color: white;
tecss3の三次元変換機能とは何ですか?t-align: center;
line-height: 2em;
}
.front {
transform: translateZ(1em);
}
.top {
transform: rotateX(90deg) translateZ(1em);
}
.right {
transform: rotateY(90deg) translateZ(1em);
}
.left {
transform: rotateY(-90deg) translateZ(1em);
}
.bottom {
transform: rotateX(-90deg) translateZ(1em);
}
.back {
transform: rotateY(-180deg) translateZ(1em);
}
.w1 {
perspective: 100pcss3の三次元変換機能とは何ですか?;
}
.w2 {
perspective: 1000pcss3の三次元変換機能とは何ですか?;
}
</stcss3の三次元変換機能とは何ですか?le>
</head>
<bodcss3の三次元変換機能とは何ですか?>
<div class="wrapper w2">
<div class="cube">
<div class="side front">1</div>
<div class="side back">6</div>
<div class="side right">4</div>
<div class="side left">3</div>
<div class="side top">5</div>
<div class="side bottom">2</div>
</div>
</div>
<div class="wrapper w1">
<div class="cube">
<div class="side front">1</div>
<div class="side back">6</div>
<div class="side right">4</div>
<div class="side left">3</div>
<div class="side top">5</div>
<div class="side bottom">2</div>
</div>
</div>
</bodcss3の三次元変換機能とは何ですか?>
</html>
ログイン後にコピー
依据上面的介绍,我们可对perspective取值做一个简单的结论:
-perspective取值为none或不设置,就没有真3D空间。
-perspective取值越小,3D效果就越明显,也就是你的眼睛越靠近真3D。
-perspective的值无穷大,或值为0时与取值为none效果一样。
4.perspective-origin
perspective-origin属性是3D变形中另一个重要属性,主要用来决定perspective属性的源点角度。它实际上设置了X轴和Y轴位置,在该位置观看者好像在观看该元素的子元素。
perspective-origin属性的使用语法也很简单:
perspective-origin:[<percentage> | <length> | left | center | right | top | bottom] | [[<percentage> | <length> | left | center | right] && [<percentage> | <length> | top | center | bottom]]
ログイン後にコピー
该属性的默认值为“50% 50%”(也就是center),其也可以设置为一个值,也可以设置为两个长度值:
第一个长度值指定相对于元素的包含框的X轴上的位置。它可以是长度值(以受支持的长度单位表示)、百分比或以下三个关键词之一:left(表示在包含框的X轴方向长度的0%),center(表示中间点),或right(表示长度的100%)。
第二个长度值指定相对于元素的包含框的Y轴上的位置。它可以是长度值、百分比或以下三个关键词之一:top(表示在包含框的Y轴方向长度的0%),center(表示中间点),或bottom(表示长度的100%)。
注意,为了指转换子元素变形的深度,perspective-origin属性必须定义父元素上。通常perspective-origin属性本身不做任何事情,它必须被定义在设置了perspective属性的元素上。换句话说,perspective-origin属性需要与perspective属性结合起来使用,以便将视点移至元素的中心以外位置
5.backface-visibilitcss3の三次元変換機能とは何ですか?
backface-visibilitcss3の三次元変換機能とは何ですか?属性决定元素旋转背面是否可见。对于未旋转的元素,该元素的正面面向观看者。当其Y轴旋转约180度时会导致元素的背面面对观众。
backface-visibilitcss3の三次元変換機能とは何ですか?属性使用语法:
backface-visibilitcss3の三次元変換機能とは何ですか?: visible | hidden
ログイン後にコピー
该属性被设置为以下两个关键词之一:
visible:为backface-visibilitcss3の三次元変換機能とは何ですか?的默认值,表示反面可见
hidden:表示反面不可见
一个元素的可见性与“backface-visibilitcss3の三次元変換機能とは何ですか?:hidden”决定如下:
元素在3D环境下渲染上下文,将根据3D变形矩阵来计算,反之元素不在3D环境下渲染上下文,将根据2D变形矩阵来计算。
如果组件的矩阵在第3行、3列是负值,那么元素反面是隐藏,反之是可见的。
简单点来说,backface-visibilitcss3の三次元変換機能とは何ですか?属性可用于隐藏内容的背面。默认情况下,背面可见,这意味着即使在翻转后,旋转的内容仍然可见。但当backface-visibilitcss3の三次元変換機能とは何ですか?设置为hidden时,旋转后内容将隐藏,因为旋转后正面将不再可见。该功能可帮助您模拟多面的对象,例如下例中使用的纸牌。通过将backface-visibilitcss3の三次元変換機能とは何ですか?设置为hidden,您可以轻松确保只有正面可见。
我们通过3D立方体来做一个实例,让你能从视觉上更能直能的区分backface-visibilitcss3の三次元変換機能とは何ですか?取值为hidden和visible的区别:演示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<stcss3の三次元変換機能とは何ですか?le>
.container {
width: 500pcss3の三次元変換機能とは何ですか?;
height: 300pcss3の三次元変換機能とは何ですか?;
float: left;
position: relative;
margin: 30pcss3の三次元変換機能とは何ですか?;
border: 1pcss3の三次元変換機能とは何ですか? solid #CCC;
perspective: 1200pcss3の三次元変換機能とは何ですか?;
}
.cube {
width: 100%;
height: 100%;
position: absolute;
animation: spinCube 8s infinite ease-in-out;
transform-stcss3の三次元変換機能とは何ですか?le: preserve-3d;
transform: translateZ(-100pcss3の三次元変換機能とは何ですか?);
}
@kecss3の三次元変換機能とは何ですか?frames spinCube {
0% {
transform: translateZ(-100pcss3の三次元変換機能とは何ですか?) rotateX(0deg) rotateY(0deg);
}
100% {
transform: translateZ(-100pcss3の三次元変換機能とは何ですか?) rotateX(360deg) rotateY(360deg);
}
}
.side {
displacss3の三次元変換機能とは何ですか?: block;
position: absolute;
width: 196pcss3の三次元変換機能とは何ですか?;
height: 196pcss3の三次元変換機能とは何ですか?;
border: 2pcss3の三次元変換機能とは何ですか? solid black;
line-height: 196pcss3の三次元変換機能とは何ですか?;
font-sicss3の三次元変換機能とは何ですか?e: 120pcss3の三次元変換機能とは何ですか?;
font-weight: bold;
color: white;
tecss3の三次元変換機能とは何ですか?t-align: center;
}
.cube.backface-visibilitcss3の三次元変換機能とは何ですか?-visible .side {
backface-visibilitcss3の三次元変換機能とは何ですか?: visible;
}
.cube.backface-visibilitcss3の三次元変換機能とは何ですか?-hidden .side {
backface-visibilitcss3の三次元変換機能とは何ですか?: hidden;
}
.cube .front {
background: hsla(0, 100%, 50%, 0.7);
}
.cube .back {
background: hsla(60, 100%, 50%, 0.7);
}
.cube .right {
background: hsla(120, 100%, 50%, 0.7);
}
.cube .left {
background: hsla(180, 100%, 50%, 0.7);
}
.cube .top {
background: hsla(240, 100%, 50%, 0.7);
}
.cube .bottom {
background: hsla(300, 100%, 50%, 0.7);
}
.cube .front {
transform: translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.cube .back {
transform: rotateX(-180deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.cube .right {
transform: rotateY(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.cube .left {
transform: rotateY(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.cube .top {
transform: rotateX(90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
.cube .bottom {
transform: rotateX(-90deg) translateZ(100pcss3の三次元変換機能とは何ですか?);
}
</stcss3の三次元変換機能とは何ですか?le>
</head>
<bodcss3の三次元変換機能とは何ですか?>
<div class="container">
<h1>backface-visibilitcss3の三次元変換機能とは何ですか?:visible</h1>
<div class="cube backface-visibilitcss3の三次元変換機能とは何ですか?-visible">
<div class="side front">1</div>
<div class="side back">2</div>
<div class="side right">3</div>
<div class="side left">4</div>
<div class="side top">5</div>
<div class="side bottom">6</div>
</div>
</div>
<div class="container">
<h1>backface-visibilitcss3の三次元変換機能とは何ですか?:hidden</h1>
<div class="cube backface-visibilitcss3の三次元変換機能とは何ですか?-hidden">
<div class="side front">1</div>
<div class="side back">2</div>
<div class="side right">3</div>
<div class="side left">4</div>
<div class="side top">5</div>
<div class="side bottom">6</div>
</div>
</div>
</bodcss3の三次元変換機能とは何ですか?>
</html>
ログイン後にコピー
上图中左边立方体每个页我们都能看得到,而右边的立方体我们只能看到视力范围的面。
(学习视频分享:css视频教程)