Template:BibisiLauncher/style.css: Difference between revisions
From SNCApedia, the shit nobody cares about encyclopedia
Jump to navigationJump to search
SomebodyRum (talk | contribs) No edit summary |
SomebodyRum (talk | contribs) No edit summary |
||
| Line 14: | Line 14: | ||
/* TRIGGER ANIMATIONS ON CLICK */ | /* TRIGGER ANIMATIONS ON CLICK */ | ||
/* -------------------------------------- */ | /* -------------------------------------- */ | ||
#launch-easter-egg:target .missile-object { | /* Notice the "~ div" - this connects the hidden span to the rocket below it */ | ||
#launch-easter-egg:target ~ div .missile-object { | |||
visibility: visible; | visibility: visible; | ||
animation: rocket-move 2s cubic-bezier(0.5, 0, 1, 0) forwards; | animation: rocket-move 2s cubic-bezier(0.5, 0, 1, 0) forwards; | ||
} | } | ||
#launch-easter-egg:target .smoke { | #launch-easter-egg:target ~ div .smoke { | ||
visibility: visible; | visibility: visible; | ||
animation: smoke-anim | animation: smoke-anim 0.8s ease-out infinite; | ||
} | |||
/* Shuts off the smoke pad completely after the rocket leaves (2s) */ | |||
#launch-easter-egg:target ~ div .smoke-pad { | |||
animation: hide-pad 2s forwards; | |||
} | } | ||
#launch-easter-egg:target .fire { | #launch-easter-egg:target ~ div .fire { | ||
visibility: visible; | visibility: visible; | ||
animation: fire-anim 0.4s linear infinite; | animation: fire-anim 0.4s linear infinite; | ||
} | |||
@keyframes hide-pad { | |||
0%, 99% { opacity: 1; visibility: visible; } | |||
100% { opacity: 0; visibility: hidden; } | |||
} | } | ||
/* -------------------------------------- */ | /* -------------------------------------- */ | ||
/* ROCKET | /* ROCKET CONTAINER */ | ||
/* -------------------------------------- */ | /* -------------------------------------- */ | ||
.missile-object { | .missile-object, .smoke-pad { | ||
position: fixed; | position: fixed; | ||
bottom: - | bottom: -60px; | ||
left: 50%; | left: 50%; | ||
margin-left: -25px; /* Centers the | margin-left: -25px; /* Centers the 50px width */ | ||
width: 50px; /* Fixed width fixes the offset corner bug! */ | |||
height: 50px; | |||
font-size: 50px; | font-size: 50px; | ||
line-height: 50px; | |||
text-align: center; | |||
visibility: hidden; | visibility: hidden; | ||
z-index: 9999; | z-index: 9999; | ||
} | |||
.smoke-pad { | |||
z-index: 9998; /* Keeps smoke behind the rocket */ | |||
} | } | ||
| Line 49: | Line 65: | ||
/* -------------------------------------- */ | /* -------------------------------------- */ | ||
/* FIRE | /* CONTINUOUS FIRE */ | ||
/* -------------------------------------- */ | /* -------------------------------------- */ | ||
.fire { | .fire { | ||
position: absolute; | position: absolute; | ||
left: | left: 0; | ||
top: 35px; /* Fixed right under the rocket */ | |||
width: 50px; | |||
font-size: 30px; | font-size: 30px; | ||
text-align: center; | |||
visibility: hidden; | visibility: hidden; | ||
} | } | ||
/* | /* 4 particles spread evenly across the 0.4s animation for continuous flow */ | ||
.fire-1 { animation-delay: 0s; } | .fire-1 { animation-delay: 0s; } | ||
.fire-2 { animation-delay: 0.2s; } | .fire-2 { animation-delay: 0.1s; } | ||
.fire-3 { animation-delay: 0.2s; } | |||
.fire-4 { animation-delay: 0.3s; } | |||
@keyframes fire-anim { | @keyframes fire-anim { | ||
0% { transform: translateY(0) scale(1); opacity: 1; } | 0% { transform: translateY(0) scale(1); opacity: 1; } | ||
100% { transform: translateY(50px) scale(0); opacity: 0; } | 100% { transform: translateY(50px) scale(0); opacity: 0; } | ||
| Line 70: | Line 89: | ||
/* -------------------------------------- */ | /* -------------------------------------- */ | ||
/* SMOKE | /* CONTINUOUS SMOKE */ | ||
/* -------------------------------------- */ | /* -------------------------------------- */ | ||
.smoke { | .smoke { | ||
position: absolute; | position: absolute; | ||
left: 0; | left: 0; | ||
top: | top: 10px; | ||
width: 50px; | |||
text-align: center; | |||
visibility: hidden; | visibility: hidden; | ||
} | } | ||
/* | /* 5 particles spread out in different directions to look like a cloud */ | ||
.smoke-1 { | .smoke-1 { animation-delay: 0s; } | ||
.smoke-2 { | .smoke-2 { animation-delay: 0.15s; margin-left: -15px; } | ||
.smoke- | .smoke-3 { animation-delay: 0.3s; margin-left: 15px; } | ||
.smoke-4 { animation-delay: 0.45s; margin-top: 15px; } | |||
.smoke-5 { animation-delay: 0.6s; margin-left: -5px; } | |||
@keyframes smoke-anim { | @keyframes smoke-anim { | ||
0% { transform: scale(0.5); opacity: 1; } | 0% { transform: scale(0.5); opacity: 1; } | ||
100% { transform: scale( | 100% { transform: scale(3); opacity: 0; } /* Max size is now 3 instead of 5 */ | ||
} | } | ||
Revision as of 18:04, 10 April 2026
/* Button styling */
.launcher-btn {
display: inline-block;
padding: 8px 16px;
background: #d33;
color: white;
font-weight: bold;
border-radius: 5px;
text-decoration: none;
}
.launcher-btn:hover { background: #f44; }
/* -------------------------------------- */
/* TRIGGER ANIMATIONS ON CLICK */
/* -------------------------------------- */
/* Notice the "~ div" - this connects the hidden span to the rocket below it */
#launch-easter-egg:target ~ div .missile-object {
visibility: visible;
animation: rocket-move 2s cubic-bezier(0.5, 0, 1, 0) forwards;
}
#launch-easter-egg:target ~ div .smoke {
visibility: visible;
animation: smoke-anim 0.8s ease-out infinite;
}
/* Shuts off the smoke pad completely after the rocket leaves (2s) */
#launch-easter-egg:target ~ div .smoke-pad {
animation: hide-pad 2s forwards;
}
#launch-easter-egg:target ~ div .fire {
visibility: visible;
animation: fire-anim 0.4s linear infinite;
}
@keyframes hide-pad {
0%, 99% { opacity: 1; visibility: visible; }
100% { opacity: 0; visibility: hidden; }
}
/* -------------------------------------- */
/* ROCKET CONTAINER */
/* -------------------------------------- */
.missile-object, .smoke-pad {
position: fixed;
bottom: -60px;
left: 50%;
margin-left: -25px; /* Centers the 50px width */
width: 50px; /* Fixed width fixes the offset corner bug! */
height: 50px;
font-size: 50px;
line-height: 50px;
text-align: center;
visibility: hidden;
z-index: 9999;
}
.smoke-pad {
z-index: 9998; /* Keeps smoke behind the rocket */
}
@keyframes rocket-move {
0% { transform: translateY(0); }
100% { transform: translateY(-1500px); }
}
/* -------------------------------------- */
/* CONTINUOUS FIRE */
/* -------------------------------------- */
.fire {
position: absolute;
left: 0;
top: 35px; /* Fixed right under the rocket */
width: 50px;
font-size: 30px;
text-align: center;
visibility: hidden;
}
/* 4 particles spread evenly across the 0.4s animation for continuous flow */
.fire-1 { animation-delay: 0s; }
.fire-2 { animation-delay: 0.1s; }
.fire-3 { animation-delay: 0.2s; }
.fire-4 { animation-delay: 0.3s; }
@keyframes fire-anim {
0% { transform: translateY(0) scale(1); opacity: 1; }
100% { transform: translateY(50px) scale(0); opacity: 0; }
}
/* -------------------------------------- */
/* CONTINUOUS SMOKE */
/* -------------------------------------- */
.smoke {
position: absolute;
left: 0;
top: 10px;
width: 50px;
text-align: center;
visibility: hidden;
}
/* 5 particles spread out in different directions to look like a cloud */
.smoke-1 { animation-delay: 0s; }
.smoke-2 { animation-delay: 0.15s; margin-left: -15px; }
.smoke-3 { animation-delay: 0.3s; margin-left: 15px; }
.smoke-4 { animation-delay: 0.45s; margin-top: 15px; }
.smoke-5 { animation-delay: 0.6s; margin-left: -5px; }
@keyframes smoke-anim {
0% { transform: scale(0.5); opacity: 1; }
100% { transform: scale(3); opacity: 0; } /* Max size is now 3 instead of 5 */
}