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:3DOneFace/styles.css: Difference between revisions

From SNCApedia, the shit nobody cares about encyclopedia
Jump to navigationJump to search
No edit summary
mNo edit summary
Line 1: Line 1:
/* ================================
/* ================================
   Template:3DOneFace/styles.css
   Template:3DOneFace/styles.css
   Fake-3D via foreshortening only
   Fake-3D via scale + rotate mix
  2D transforms — MediaWiki safe
   ================================ */
   ================================ */


Line 29: Line 28:


/* === KEYFRAMES: LOW === */
/* === KEYFRAMES: LOW === */
/* subtle tilt, card barely moves away from viewer */


@keyframes onef-jiggle-low {
@keyframes onef-jiggle-low {
   0%  { transform: scaleX(1)    scaleY(1); }
   0%  { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
   14%  { transform: scaleX(0.88) scaleY(0.97); }
   14%  { transform: scaleX(0.82) scaleY(0.97) rotate(-2deg); }
   30%  { transform: scaleX(0.95) scaleY(0.85); }
   30%  { transform: scaleX(0.95) scaleY(0.80) rotate(1deg); }
   47%  { transform: scaleX(0.82) scaleY(0.93); }
   47%  { transform: scaleX(0.75) scaleY(0.93) rotate(2deg); }
   61%  { transform: scaleX(0.91) scaleY(0.80); }
   61%  { transform: scaleX(0.92) scaleY(0.78) rotate(-1deg); }
   78%  { transform: scaleX(0.86) scaleY(0.96); }
   78%  { transform: scaleX(0.78) scaleY(0.96) rotate(3deg); }
   90%  { transform: scaleX(0.93) scaleY(0.88); }
   90%  { transform: scaleX(0.90) scaleY(0.84) rotate(-2deg); }
   100% { transform: scaleX(1)    scaleY(1); }
   100% { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
}
}




/* === KEYFRAMES: NORMAL === */
/* === KEYFRAMES: NORMAL === */
/* noticeable random tilt in 3D space */


@keyframes onef-jiggle-normal {
@keyframes onef-jiggle-normal {
   0%  { transform: scaleX(1)    scaleY(1); }
   0%  { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
   11%  { transform: scaleX(0.72) scaleY(0.94); }
   11%  { transform: scaleX(0.55) scaleY(0.94) rotate(-4deg); }
   26%  { transform: scaleX(0.90) scaleY(0.65); }
   26%  { transform: scaleX(0.90) scaleY(0.50) rotate(3deg); }
   39%  { transform: scaleX(0.58) scaleY(0.88); }
   39%  { transform: scaleX(0.42) scaleY(0.88) rotate(5deg); }
   54%  { transform: scaleX(0.85) scaleY(0.60); }
   54%  { transform: scaleX(0.86) scaleY(0.45) rotate(-3deg); }
   67%  { transform: scaleX(0.63) scaleY(0.91); }
   67%  { transform: scaleX(0.48) scaleY(0.91) rotate(-5deg); }
   81%  { transform: scaleX(0.79) scaleY(0.70); }
   81%  { transform: scaleX(0.80) scaleY(0.55) rotate(4deg); }
   93%  { transform: scaleX(0.55) scaleY(0.86); }
   93%  { transform: scaleX(0.38) scaleY(0.85) rotate(-2deg); }
   100% { transform: scaleX(1)    scaleY(1); }
   100% { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
}
}




/* === KEYFRAMES: HIGH === */
/* === KEYFRAMES: HIGH === */
/* dramatic tilt, nearly edge-on at times */


@keyframes onef-jiggle-high {
@keyframes onef-jiggle-high {
   0%  { transform: scaleX(1)    scaleY(1); }
   0%  { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
   9%  { transform: scaleX(0.45) scaleY(0.92); }
   9%  { transform: scaleX(0.28) scaleY(0.92) rotate(-7deg); }
   22%  { transform: scaleX(0.88) scaleY(0.38); }
   22%  { transform: scaleX(0.88) scaleY(0.22) rotate(6deg); }
   36%  { transform: scaleX(0.32) scaleY(0.85); }
   36%  { transform: scaleX(0.18) scaleY(0.85) rotate(9deg); }
   51%  { transform: scaleX(0.80) scaleY(0.30); }
   51%  { transform: scaleX(0.82) scaleY(0.20) rotate(-6deg); }
   63%  { transform: scaleX(0.40) scaleY(0.90); }
   63%  { transform: scaleX(0.24) scaleY(0.90) rotate(-9deg); }
   77%  { transform: scaleX(0.88) scaleY(0.42); }
   77%  { transform: scaleX(0.85) scaleY(0.26) rotate(7deg); }
   89%  { transform: scaleX(0.35) scaleY(0.82); }
   89%  { transform: scaleX(0.20) scaleY(0.82) rotate(-4deg); }
   100% { transform: scaleX(1)    scaleY(1); }
   100% { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
}
}


Line 79: Line 75:
.onef-wrapper:hover .onef-face {
.onef-wrapper:hover .onef-face {
   animation-play-state: paused;
   animation-play-state: paused;
   transform: scaleX(1) scaleY(1);
   transform: scaleX(1) scaleY(1) rotate(0deg);
   transition: transform 0.15s ease-out;
   transition: transform 0.15s ease-out;
}
}

Revision as of 16:16, 18 April 2026

/* ================================
   Template:3DOneFace/styles.css
   Fake-3D via scale + rotate mix
   ================================ */


/* === CORE === */

.onef-wrapper {
  display: inline-block;
  vertical-align: middle;
}

.onef-face {
  display: inline-block;
  animation-name: onef-jiggle-normal;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}


/* === INTENSITY LEVELS === */

.onef-low    .onef-face { animation-name: onef-jiggle-low; }
.onef-normal .onef-face { animation-name: onef-jiggle-normal; }
.onef-high   .onef-face { animation-name: onef-jiggle-high; }


/* === KEYFRAMES: LOW === */

@keyframes onef-jiggle-low {
  0%   { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
  14%  { transform: scaleX(0.82) scaleY(0.97) rotate(-2deg); }
  30%  { transform: scaleX(0.95) scaleY(0.80) rotate(1deg); }
  47%  { transform: scaleX(0.75) scaleY(0.93) rotate(2deg); }
  61%  { transform: scaleX(0.92) scaleY(0.78) rotate(-1deg); }
  78%  { transform: scaleX(0.78) scaleY(0.96) rotate(3deg); }
  90%  { transform: scaleX(0.90) scaleY(0.84) rotate(-2deg); }
  100% { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
}


/* === KEYFRAMES: NORMAL === */

@keyframes onef-jiggle-normal {
  0%   { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
  11%  { transform: scaleX(0.55) scaleY(0.94) rotate(-4deg); }
  26%  { transform: scaleX(0.90) scaleY(0.50) rotate(3deg); }
  39%  { transform: scaleX(0.42) scaleY(0.88) rotate(5deg); }
  54%  { transform: scaleX(0.86) scaleY(0.45) rotate(-3deg); }
  67%  { transform: scaleX(0.48) scaleY(0.91) rotate(-5deg); }
  81%  { transform: scaleX(0.80) scaleY(0.55) rotate(4deg); }
  93%  { transform: scaleX(0.38) scaleY(0.85) rotate(-2deg); }
  100% { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
}


/* === KEYFRAMES: HIGH === */

@keyframes onef-jiggle-high {
  0%   { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
  9%   { transform: scaleX(0.28) scaleY(0.92) rotate(-7deg); }
  22%  { transform: scaleX(0.88) scaleY(0.22) rotate(6deg); }
  36%  { transform: scaleX(0.18) scaleY(0.85) rotate(9deg); }
  51%  { transform: scaleX(0.82) scaleY(0.20) rotate(-6deg); }
  63%  { transform: scaleX(0.24) scaleY(0.90) rotate(-9deg); }
  77%  { transform: scaleX(0.85) scaleY(0.26) rotate(7deg); }
  89%  { transform: scaleX(0.20) scaleY(0.82) rotate(-4deg); }
  100% { transform: scaleX(1)    scaleY(1)    rotate(0deg); }
}


/* === HOVER: SNAP FLAT === */

.onef-wrapper:hover .onef-face {
  animation-play-state: paused;
  transform: scaleX(1) scaleY(1) rotate(0deg);
  transition: transform 0.15s ease-out;
}

.onef-nohover:hover .onef-face {
  animation-play-state: running;
  transform: none;
  transition: none;
}


/* === REDUCED MOTION SAFETY === */

@media (prefers-reduced-motion: reduce) {
  .onef-face {
    animation: none;
    transform: none;
  }
  .onef-wrapper:hover .onef-face {
    transform: none;
    transition: none;
  }
}