MediaWiki:Common.css
MediaWiki interface page
More actions
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* ---------- IMAGE-ONLY BUTTONS – 4 PER ROW + TIGHT SPACING ---------- */
.cat-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 16px; /* ← CLOSER HORIZONTAL & VERTICAL */
max-width: 960px;
margin: 30px auto;
padding: 0 12px;
}
/* DIV button – FULL RESET + ROUNDED + ZOOM CONTAINER */
.cat-button {
position: relative;
display: block !important;
line-height: 0 !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
border-radius: 10px !important;
background: none !important;
box-shadow: none !important;
overflow: hidden !important;
transition: transform 0.25s ease;
cursor: pointer;
/* ← MAX 4 PER ROW: 25% width minus gap */
flex: 0 1 calc(25% - 12px); /* 4 × (25% - gap/4) */
min-width: 180px; /* prevent too small */
}
/* HOVER: lift */
.cat-button:hover,
.cat-button:focus {
transform: translateY(-4px);
outline: none !important;
}
/* IMAGE: zoom inside rounded */
.cat-button img {
width: 100%;
height: auto;
display: block;
margin: 0;
padding: 0;
border: 0;
border-radius: 10px;
vertical-align: top;
transition: transform 0.3s ease;
transform-origin: center center;
}
.cat-button:hover img {
transform: scale(1.08);
}
/* TEXT OVERLAY: BOLD + CLEAN BLACK OUTLINE */
.cat-overlay {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-weight: 700 !important;
font-size: 1.1em;
text-align: center;
padding: 8px;
pointer-events: none;
background: rgba(0, 0, 0, 0.08);
border-radius: 10px;
transition: background 0.3s ease, text-shadow 0.3s ease;
text-shadow:
-1.2px -1.2px 0 #000,
1.2px -1.2px 0 #000,
-1.2px 1.2px 0 #000,
1.2px 1.2px 0 #000,
-1.2px 0 0 #000,
1.2px 0 0 #000,
0 -1.2px 0 #000,
0 1.2px 0 #000,
0 0 6px rgba(0,0,0,0.6);
}
.cat-button:hover .cat-overlay {
background: transparent;
text-shadow:
-1.5px -1.5px 0 #000,
1.5px -1.5px 0 #000,
-1.5px 1.5px 0 #000,
1.5px 1.5px 0 #000,
-1.5px 0 0 #000,
1.5px 0 0 #000,
0 -1.5px 0 #000,
0 1.5px 0 #000,
0 0 10px rgba(0,0,0,0.7);
}
/* RESPONSIVE: 2 per row on tablets, 1 on mobile */
@media (max-width: 768px) {
.cat-grid { gap: 12px; } /* ← EVEN TIGHTER when stacked */
.cat-button { flex: 0 1 calc(50% - 9px); } /* 2 per row */
}
@media (max-width: 480px) {
.cat-button { flex: 0 1 100%; } /* 1 per row */
.cat-overlay { font-size: 1em; }
}
/* ---------- FIXED PARALLAX BACKGROUND + SCROLL MOVEMENT (NO JS) ---------- */
.parallax-bg-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
z-index: -1;
perspective: 1000px;
overflow: hidden;
pointer-events: none;
}
/* Each layer – fixed + tall for movement */
.parallax-layer {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 300vh;
background-size: cover !important;
background-position: center top !important;
background-repeat: no-repeat !important;
background-attachment: fixed !important;
transform-style: preserve-3d;
}
/* === YOUR IMAGES === */
.layer-back {
background-image: url('/images/2/21/GreenskinsBG.png') !important;
transform: translateZ(-400px) scale(1.5);
z-index: 1;
background-position-y: calc(0vh + (var(--scroll, 0) * 0.3)) !important;
}
.layer-mid {
background-image: url('/images/4/49/Greenskins1.png') !important;
transform: translateZ(-200px) scale(1.3);
z-index: 2;
background-position-y: calc(0vh + (var(--scroll, 0) * 0.5)) !important;
}
.layer-front {
background-image: url('/images/2/26/Greenskins2.png') !important;
transform: translateZ(0) scale(1);
z-index: 3;
background-position-y: calc(0vh + (var(--scroll, 0) * 0.7)) !important;
}
/* SCROLL TRACKING – PURE CSS */
html {
scroll-behavior: smooth;
--scroll: 0vh;
}
/* Animation to update --scroll */
.parallax-bg-container::before {
content: "";
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100vh;
pointer-events: none;
background: transparent;
animation: track-scroll 100s linear infinite;
}
@keyframes track-scroll {
from { --scroll: 0vh; }
to { --scroll: 100vh; }
}
/* Mobile: disable parallax */
@media (max-width: 768px) {
.parallax-layer {
height: 100vh !important;
transform: none !important;
background-attachment: scroll !important;
background-position-y: center !important;
}
.parallax-bg-container::before { animation: none; }
}