CSS3 关键帧和变换不能正确显示立方体
CSS3 Keyframes & Transforms not a displaying a cube properly
我正在尝试让 CSS 显示 3D 立方体。
我有一个fiddlehere.
立方体的顶部和底部没有任何文字,但侧面有。每一面都有一行文字。
这是我的 "side" class...
.side {
position: absolute;
width: 200px;
height: 200px;
display: block;
background: rgba(255,255,255,0.1);
box-shadow: inset 0 0 30px rgba(0,0,0,0.2);
font-size: 20px;
text-align: center;
line-height: 200px;
color: rgba(0,0,0,0.5;
text-transform: uppercase;
-webkit-transition: all 1s linear;
}
以及特定方面的个人 classes...
.back {
-webkit-transform: translateZ(-100px) rotate&(180deg);
}
.right {
-webkit-transform: rotateY (-270deg) translateX(100px);
-webkit-transform-origin: top right;
}
.left {
-webkit-transform: rotateY (270deg) translateX(-100px);
-webkit-transform-origin: center left;
}
.top {
-webkit-transform: rotateX(-90deg) translateY(-100px);
-webkit-transform-origin: top center;
}
.bottom {
-webkit-transform: rotateX(90deg) translateY(100px);
-webkit-transform-origin: bottom center;
}
.front {
-webkit-transform: translateZ(100px);
}
看起来您只是遇到了一些关于空格而不是右括号的小问题。如果您在为 .side
设置颜色的位置添加 )
并删除 rotateY
和 (270deg)
之间的空格,您应该得到一个合适的立方体。
这是一个快速 fiddle:https://jsfiddle.net/tsz85gfd/
您的 CSS 语法有一些错误(一些空格、括号...):FIDDLE
body {
background: #f9f9f9;
font-family:'Questrial', sans-serif;
}
#wrapper {
width: 900px;
margin: 100px auto;
}
/* Cube Wrapper */
.cube-wrapper {
position: relative;
-webkit-perspective: 500;
-webkit-perspective-origin: 50% 100px;
}
/* Cube Rotation */
@-webkit-keyframes spin {
from {
-webkit-transform: rotateY(0);
}
to {
-webkit-transform: rotateY(360deg);
}
}
/* Cube */
.cube {
position: relative;
margin: 0 auto;
width: 200px;
-webkit-transform-style: preserve-3d;
/* Determines if element's children are positioned in 3D space of flattened. */
-webkit-animation: spin 4s infinite linear;
-webkit-transition: all 1s linear;
}
/* Cube Sides */
.side {
position: absolute;
width: 200px;
height: 200px;
display: block;
background: rgba(255, 255, 255, 0.1);
box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.2);
font-size: 20px;
text-align: center;
line-height: 200px;
color: rgba(0, 0, 0, 0.5);
text-transform: uppercase;
-webkit-transition: all 1s linear;
}
.back {
-webkit-transform: translateZ(-100px) rotateY(180deg);
}
.right {
-webkit-transform: rotateY(-270deg) translateX(100px);
-webkit-transform-origin: top right;
}
.left {
-webkit-transform: rotateY(270deg) translateX(-100px);
-webkit-transform-origin: center left;
}
.top {
-webkit-transform: rotateX(-90deg) translateY(-100px);
-webkit-transform-origin: top center;
}
.bottom {
-webkit-transform: rotateX(90deg) translateY(100px);
-webkit-transform-origin: bottom center;
}
.front {
-webkit-transform: translateZ(100px);
}
/* Typing Animation */
@-webkit-keyframs typing {
from {
width: 0
}
to {
width: 7em
}
}
/* Blinking Cursor */
@-webkit-keyframes blink {
from, to {
border-color: transparent
}
50% {
border-color: black
}
}
/* Logo Text */
.logo_text {
position: absolute;
top: -70px;
left: 350px;
font-family:'Questrial', sans-serif;
font-size: 2em;
white-space: nowrap;
overflow: hidden;
border-right: .1em solid black;
line-height: 1px;
/* Animates the cursor */
-webkit-animation: typing 2s steps (13, end), blink 1s step-end infinite;
}
.logo_text .green {
font-weight: bold;
color: green;
}
我正在尝试让 CSS 显示 3D 立方体。
我有一个fiddlehere.
立方体的顶部和底部没有任何文字,但侧面有。每一面都有一行文字。
这是我的 "side" class...
.side {
position: absolute;
width: 200px;
height: 200px;
display: block;
background: rgba(255,255,255,0.1);
box-shadow: inset 0 0 30px rgba(0,0,0,0.2);
font-size: 20px;
text-align: center;
line-height: 200px;
color: rgba(0,0,0,0.5;
text-transform: uppercase;
-webkit-transition: all 1s linear;
}
以及特定方面的个人 classes...
.back {
-webkit-transform: translateZ(-100px) rotate&(180deg);
}
.right {
-webkit-transform: rotateY (-270deg) translateX(100px);
-webkit-transform-origin: top right;
}
.left {
-webkit-transform: rotateY (270deg) translateX(-100px);
-webkit-transform-origin: center left;
}
.top {
-webkit-transform: rotateX(-90deg) translateY(-100px);
-webkit-transform-origin: top center;
}
.bottom {
-webkit-transform: rotateX(90deg) translateY(100px);
-webkit-transform-origin: bottom center;
}
.front {
-webkit-transform: translateZ(100px);
}
看起来您只是遇到了一些关于空格而不是右括号的小问题。如果您在为 .side
设置颜色的位置添加 )
并删除 rotateY
和 (270deg)
之间的空格,您应该得到一个合适的立方体。
这是一个快速 fiddle:https://jsfiddle.net/tsz85gfd/
您的 CSS 语法有一些错误(一些空格、括号...):FIDDLE
body {
background: #f9f9f9;
font-family:'Questrial', sans-serif;
}
#wrapper {
width: 900px;
margin: 100px auto;
}
/* Cube Wrapper */
.cube-wrapper {
position: relative;
-webkit-perspective: 500;
-webkit-perspective-origin: 50% 100px;
}
/* Cube Rotation */
@-webkit-keyframes spin {
from {
-webkit-transform: rotateY(0);
}
to {
-webkit-transform: rotateY(360deg);
}
}
/* Cube */
.cube {
position: relative;
margin: 0 auto;
width: 200px;
-webkit-transform-style: preserve-3d;
/* Determines if element's children are positioned in 3D space of flattened. */
-webkit-animation: spin 4s infinite linear;
-webkit-transition: all 1s linear;
}
/* Cube Sides */
.side {
position: absolute;
width: 200px;
height: 200px;
display: block;
background: rgba(255, 255, 255, 0.1);
box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.2);
font-size: 20px;
text-align: center;
line-height: 200px;
color: rgba(0, 0, 0, 0.5);
text-transform: uppercase;
-webkit-transition: all 1s linear;
}
.back {
-webkit-transform: translateZ(-100px) rotateY(180deg);
}
.right {
-webkit-transform: rotateY(-270deg) translateX(100px);
-webkit-transform-origin: top right;
}
.left {
-webkit-transform: rotateY(270deg) translateX(-100px);
-webkit-transform-origin: center left;
}
.top {
-webkit-transform: rotateX(-90deg) translateY(-100px);
-webkit-transform-origin: top center;
}
.bottom {
-webkit-transform: rotateX(90deg) translateY(100px);
-webkit-transform-origin: bottom center;
}
.front {
-webkit-transform: translateZ(100px);
}
/* Typing Animation */
@-webkit-keyframs typing {
from {
width: 0
}
to {
width: 7em
}
}
/* Blinking Cursor */
@-webkit-keyframes blink {
from, to {
border-color: transparent
}
50% {
border-color: black
}
}
/* Logo Text */
.logo_text {
position: absolute;
top: -70px;
left: 350px;
font-family:'Questrial', sans-serif;
font-size: 2em;
white-space: nowrap;
overflow: hidden;
border-right: .1em solid black;
line-height: 1px;
/* Animates the cursor */
-webkit-animation: typing 2s steps (13, end), blink 1s step-end infinite;
}
.logo_text .green {
font-weight: bold;
color: green;
}