New mission: revamp the portals to make them look actually tolerable to the eye. They are currently placeholders as of now.
The Gold Network: Soyworld | SNCApedia | SoyPlace


I'm not dead, just inactive for the moment. Faggot (talk) 20:16, 9 April 2026 (UTC)

Template:2DSpinCube/style.css: Difference between revisions

From SNCApedia, the shit nobody cares about encyclopedia
Jump to navigationJump to search
No edit summary
Tag: Manual revert
No edit summary
Line 1: Line 1:
/* Template:2DSpinCube/style.css */
/* Template:2DSpinCube/style.css */
.scene {
.scene {
width: 200px;
    width: 200px;
height: 200px;
    height: 200px;
margin: 100px auto;
    margin: 100px auto;
position: relative;
    position: relative;
}
}


.cube {
.cube {
width: 100%;
    width: 100%;
height: 100%;
    height: 100%;
position: relative;
    position: relative;
}
}


.cube-face {
.cube-face {
position: absolute;
    position: absolute;
width: 200px;
    width: 200px;
height: 200px;
    height: 200px;
top: 0;
    top: 0;
left: 0;
    left: 0;
/* This animation mathematically projects 3D rotation into 2D space */
    /* Animation applied to all faces */
animation: fake3D 8s linear infinite;
    animation: fake3D 8s linear infinite;
}
}


/* Offsetting the start times creates the 4 sides of the 3D box */
/* Offsetting faces for the horizontal spin */
.face-front { animation-delay: 0s; }
.face-front { animation-delay: 0s; }
.face-right { animation-delay: -2s; }
.face-right { animation-delay: -2s; }
.face-back { animation-delay: -4s; }
.face-back   { animation-delay: -4s; }
.face-left { animation-delay: -6s; }
.face-left   { animation-delay: -6s; }


/* 16-step sine/cosine projection to simulate flawless 3D spinning */
/* Hide top/bottom since we are only doing horizontal spin */
@keyframes fake3D {
.face-top, .face-bottom {
0%      { transform: translateX(0px) scaleX(1); z-index: 4; }
     display: none;
6.25%  { transform: translateX(38.3px) scaleX(0.924); z-index: 4; }
12.5%  { transform: translateX(70.7px) scaleX(0.707); z-index: 4; }
18.75%  { transform: translateX(92.4px) scaleX(0.383); z-index: 3; }
25%     { transform: translateX(100px) scaleX(0); z-index: 3; }
31.25%  { transform: translateX(92.4px) scaleX(-0.383); z-index: 2; }
37.5%  { transform: translateX(70.7px) scaleX(-0.707); z-index: 2; }
43.75%  { transform: translateX(38.3px) scaleX(-0.924); z-index: 1; }
50%    { transform: translateX(0px) scaleX(-1); z-index: 1; }
56.25%  { transform: translateX(-38.3px) scaleX(-0.924); z-index: 1; }
62.5%  { transform: translateX(-70.7px) scaleX(-0.707); z-index: 2; }
68.75%  { transform: translateX(-92.4px) scaleX(-0.383); z-index: 2; }
75%    { transform: translateX(-100px) scaleX(0); z-index: 3; }
81.25%  { transform: translateX(-92.4px) scaleX(0.383); z-index: 3; }
87.5%  { transform: translateX(-70.7px) scaleX(0.707); z-index: 4; }
93.75%  { transform: translateX(-38.3px) scaleX(0.924); z-index: 4; }
100%    { transform: translateX(0px) scaleX(1); z-index: 4; }
}
}


/* Top/Bottom are hidden as 2D math cannot fake diagonal tumbling */
/* 16-step projection */
.face-top, .face-bottom {
@keyframes fake3D {
display: none;
    0%      { transform: translateX(0px) scaleX(1); z-index: 4; }
    12.5%  { transform: translateX(70.7px) scaleX(0.707); z-index: 4; }
    25%    { transform: translateX(100px) scaleX(0); z-index: 3; }
    37.5%  { transform: translateX(70.7px) scaleX(-0.707); z-index: 2; }
    50%    { transform: translateX(0px) scaleX(-1); z-index: 1; }
    62.5%  { transform: translateX(-70.7px) scaleX(-0.707); z-index: 2; }
    75%    { transform: translateX(-100px) scaleX(0); z-index: 3; }
    87.5%  { transform: translateX(-70.7px) scaleX(0.707); z-index: 4; }
    100%    { transform: translateX(0px) scaleX(1); z-index: 4; }
}
}

Revision as of 18:15, 11 April 2026

/* Template:2DSpinCube/style.css */
.scene {
    width: 200px;
    height: 200px;
    margin: 100px auto;
    position: relative;
}

.cube {
    width: 100%;
    height: 100%;
    position: relative;
}

.cube-face {
    position: absolute;
    width: 200px;
    height: 200px;
    top: 0;
    left: 0;
    /* Animation applied to all faces */
    animation: fake3D 8s linear infinite;
}

/* Offsetting faces for the horizontal spin */
.face-front  { animation-delay: 0s; }
.face-right  { animation-delay: -2s; }
.face-back   { animation-delay: -4s; }
.face-left   { animation-delay: -6s; }

/* Hide top/bottom since we are only doing horizontal spin */
.face-top, .face-bottom {
    display: none;
}

/* 16-step projection */
@keyframes fake3D {
    0%      { transform: translateX(0px) scaleX(1); z-index: 4; }
    12.5%   { transform: translateX(70.7px) scaleX(0.707); z-index: 4; }
    25%     { transform: translateX(100px) scaleX(0); z-index: 3; }
    37.5%   { transform: translateX(70.7px) scaleX(-0.707); z-index: 2; }
    50%     { transform: translateX(0px) scaleX(-1); z-index: 1; }
    62.5%   { transform: translateX(-70.7px) scaleX(-0.707); z-index: 2; }
    75%     { transform: translateX(-100px) scaleX(0); z-index: 3; }
    87.5%   { transform: translateX(-70.7px) scaleX(0.707); z-index: 4; }
    100%    { transform: translateX(0px) scaleX(1); z-index: 4; }
}