codepens/bug-report-d20/dist/style.css

274 lines
10 KiB
CSS

@-webkit-keyframes roll {
10% {
-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
30% {
-webkit-transform: rotateX(120deg) rotateY(240deg) rotateZ(0deg) translateX(40px) translateY(40px);
transform: rotateX(120deg) rotateY(240deg) rotateZ(0deg) translateX(40px) translateY(40px);
}
50% {
-webkit-transform: rotateX(240deg) rotateY(480deg) rotateZ(0deg) translateX(-40px) translateY(-40px);
transform: rotateX(240deg) rotateY(480deg) rotateZ(0deg) translateX(-40px) translateY(-40px);
}
70% {
-webkit-transform: rotateX(360deg) rotateY(720deg) rotateZ(0deg);
transform: rotateX(360deg) rotateY(720deg) rotateZ(0deg);
}
90% {
-webkit-transform: rotateX(480deg) rotateY(960deg) rotateZ(0deg);
transform: rotateX(480deg) rotateY(960deg) rotateZ(0deg);
}
}
@keyframes roll {
10% {
-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
}
30% {
-webkit-transform: rotateX(120deg) rotateY(240deg) rotateZ(0deg) translateX(40px) translateY(40px);
transform: rotateX(120deg) rotateY(240deg) rotateZ(0deg) translateX(40px) translateY(40px);
}
50% {
-webkit-transform: rotateX(240deg) rotateY(480deg) rotateZ(0deg) translateX(-40px) translateY(-40px);
transform: rotateX(240deg) rotateY(480deg) rotateZ(0deg) translateX(-40px) translateY(-40px);
}
70% {
-webkit-transform: rotateX(360deg) rotateY(720deg) rotateZ(0deg);
transform: rotateX(360deg) rotateY(720deg) rotateZ(0deg);
}
90% {
-webkit-transform: rotateX(480deg) rotateY(960deg) rotateZ(0deg);
transform: rotateX(480deg) rotateY(960deg) rotateZ(0deg);
}
}
body {
background: #35495e;
padding: 20px;
}
.content {
margin: auto auto;
position: relative;
width: 400px;
height: 400px;
-webkit-perspective: 1500px;
perspective: 1500px;
}
.die {
position: absolute;
width: 100%;
height: 100%;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
transition: -webkit-transform 0.5s ease-out;
transition: transform 0.5s ease-out;
transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
cursor: pointer;
-webkit-transform: rotateX(-53deg);
transform: rotateX(-53deg);
}
.die.rolling {
-webkit-animation: roll 3s linear;
animation: roll 3s linear;
}
.die[data-face="1"] {
-webkit-transform: rotateX(-53deg) rotateY(0deg);
transform: rotateX(-53deg) rotateY(0deg);
}
.die[data-face="2"] {
-webkit-transform: rotateX(-53deg) rotateY(72deg);
transform: rotateX(-53deg) rotateY(72deg);
}
.die[data-face="3"] {
-webkit-transform: rotateX(-53deg) rotateY(144deg);
transform: rotateX(-53deg) rotateY(144deg);
}
.die[data-face="4"] {
-webkit-transform: rotateX(-53deg) rotateY(216deg);
transform: rotateX(-53deg) rotateY(216deg);
}
.die[data-face="5"] {
-webkit-transform: rotateX(-53deg) rotateY(288deg);
transform: rotateX(-53deg) rotateY(288deg);
}
.die[data-face="16"] {
-webkit-transform: rotateX(127deg) rotateY(-72deg);
transform: rotateX(127deg) rotateY(-72deg);
}
.die[data-face="17"] {
-webkit-transform: rotateX(127deg) rotateY(-144deg);
transform: rotateX(127deg) rotateY(-144deg);
}
.die[data-face="18"] {
-webkit-transform: rotateX(127deg) rotateY(-216deg);
transform: rotateX(127deg) rotateY(-216deg);
}
.die[data-face="19"] {
-webkit-transform: rotateX(127deg) rotateY(-288deg);
transform: rotateX(127deg) rotateY(-288deg);
}
.die[data-face="20"] {
-webkit-transform: rotateX(127deg) rotateY(-360deg);
transform: rotateX(127deg) rotateY(-360deg);
}
.die[data-face="6"] {
-webkit-transform: rotateX(11deg) rotateZ(180deg) rotateY(0deg);
transform: rotateX(11deg) rotateZ(180deg) rotateY(0deg);
}
.die[data-face="7"] {
-webkit-transform: rotateX(11deg) rotateZ(180deg) rotateY(72deg);
transform: rotateX(11deg) rotateZ(180deg) rotateY(72deg);
}
.die[data-face="8"] {
-webkit-transform: rotateX(11deg) rotateZ(180deg) rotateY(144deg);
transform: rotateX(11deg) rotateZ(180deg) rotateY(144deg);
}
.die[data-face="9"] {
-webkit-transform: rotateX(11deg) rotateZ(180deg) rotateY(216deg);
transform: rotateX(11deg) rotateZ(180deg) rotateY(216deg);
}
.die[data-face="10"] {
-webkit-transform: rotateX(11deg) rotateZ(180deg) rotateY(288deg);
transform: rotateX(11deg) rotateZ(180deg) rotateY(288deg);
}
.die[data-face="11"] {
-webkit-transform: rotateX(11deg) rotateY(-252deg);
transform: rotateX(11deg) rotateY(-252deg);
}
.die[data-face="12"] {
-webkit-transform: rotateX(11deg) rotateY(-324deg);
transform: rotateX(11deg) rotateY(-324deg);
}
.die[data-face="13"] {
-webkit-transform: rotateX(11deg) rotateY(-396deg);
transform: rotateX(11deg) rotateY(-396deg);
}
.die[data-face="14"] {
-webkit-transform: rotateX(11deg) rotateY(-468deg);
transform: rotateX(11deg) rotateY(-468deg);
}
.die[data-face="15"] {
-webkit-transform: rotateX(11deg) rotateY(-540deg);
transform: rotateX(11deg) rotateY(-540deg);
}
.die .face {
position: absolute;
left: 50%;
top: 0;
margin: 0 -100px;
border-left: 100px solid transparent;
border-right: 100px solid transparent;
border-bottom: 172px solid rgba(0, 166, 100, 0.75);
width: 0px;
height: 0px;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
counter-increment: steps 1;
}
.die .face .face-text {
position: absolute;
top: 77.4px;
left: -50px;
color: #fff;
text-shadow: 1px 1px 3px #000;
font-size: 21.5px;
text-align: center;
line-height: 1.3;
width: 100px;
height: 172px;
font-family: monospace;
}
.die .face:nth-child(1) {
-webkit-transform: rotateY(0deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
transform: rotateY(0deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
}
.die .face:nth-child(2) {
-webkit-transform: rotateY(-72deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
transform: rotateY(-72deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
}
.die .face:nth-child(3) {
-webkit-transform: rotateY(-144deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
transform: rotateY(-144deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
}
.die .face:nth-child(4) {
-webkit-transform: rotateY(-216deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
transform: rotateY(-216deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
}
.die .face:nth-child(5) {
-webkit-transform: rotateY(-288deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
transform: rotateY(-288deg) translateZ(67px) translateY(-25.8px) rotateX(53deg);
}
.die .face:nth-child(16) {
-webkit-transform: rotateY(-108deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
transform: rotateY(-108deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
}
.die .face:nth-child(17) {
-webkit-transform: rotateY(-36deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
transform: rotateY(-36deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
}
.die .face:nth-child(18) {
-webkit-transform: rotateY(36deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
transform: rotateY(36deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
}
.die .face:nth-child(19) {
-webkit-transform: rotateY(108deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
transform: rotateY(108deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
}
.die .face:nth-child(20) {
-webkit-transform: rotateY(180deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
transform: rotateY(180deg) translateZ(67px) translateY(242.52px) rotateZ(180deg) rotateX(53deg);
}
.die .face:nth-child(6) {
-webkit-transform: rotateY(360deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
transform: rotateY(360deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
}
.die .face:nth-child(7) {
-webkit-transform: rotateY(288deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
transform: rotateY(288deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
}
.die .face:nth-child(8) {
-webkit-transform: rotateY(216deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
transform: rotateY(216deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
}
.die .face:nth-child(9) {
-webkit-transform: rotateY(144deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
transform: rotateY(144deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
}
.die .face:nth-child(10) {
-webkit-transform: rotateY(72deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
transform: rotateY(72deg) translateZ(150px) translateY(108.36px) rotateZ(180deg) rotateX(-11deg);
}
.die .face:nth-child(11) {
-webkit-transform: rotateY(252deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
transform: rotateY(252deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
}
.die .face:nth-child(12) {
-webkit-transform: rotateY(324deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
transform: rotateY(324deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
}
.die .face:nth-child(13) {
-webkit-transform: rotateY(396deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
transform: rotateY(396deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
}
.die .face:nth-child(14) {
-webkit-transform: rotateY(468deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
transform: rotateY(468deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
}
.die .face:nth-child(15) {
-webkit-transform: rotateY(540deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
transform: rotateY(540deg) translateZ(150px) translateY(108.36px) rotateX(-11deg);
}
.source {
color: #bbb;
text-align: center;
margin-top: 50px;
}
.source a {
color: #ccc;
}