Ajout de la feuille de style christmas.css pour les décorations festives et animations de neige, chargées conditionnellement en décembre.
This commit is contained in:
parent
5a241e394b
commit
5fd06f5ae1
1 changed files with 99 additions and 0 deletions
99
static/css/christmas.css
Normal file
99
static/css/christmas.css
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
/* PartirDeZero — Décos de Noël (chargées uniquement en décembre) */
|
||||
|
||||
/* Barre festive discrète sous la navbar */
|
||||
.site-nav { position: relative; }
|
||||
.site-nav::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0; right: 0; bottom: -1px;
|
||||
height: 4px;
|
||||
background: repeating-linear-gradient(45deg,
|
||||
#d61c4e 0 12px,
|
||||
#1b8f3a 12px 24px,
|
||||
#ffffff 24px 36px);
|
||||
opacity: .55;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Emoji sapin à côté du titre */
|
||||
.pdz-festive-emoji {
|
||||
margin-left: .35rem;
|
||||
filter: drop-shadow(0 1px 0 rgba(0,0,0,.2));
|
||||
}
|
||||
|
||||
/* Overlay neige — ultra léger, non bloquant */
|
||||
.pdz-snow {
|
||||
position: fixed;
|
||||
inset: 0;
|
||||
pointer-events: none;
|
||||
z-index: 5; /* au-dessus du fond, sous les modales si existantes */
|
||||
background-image:
|
||||
radial-gradient(2px 2px at 20px 30px, rgba(255,255,255,.9) 50%, rgba(255,255,255,0) 51%),
|
||||
radial-gradient(3px 3px at 80px 120px, rgba(255,255,255,.8) 50%, rgba(255,255,255,0) 51%),
|
||||
radial-gradient(2px 2px at 150px 80px, rgba(255,255,255,.85) 50%, rgba(255,255,255,0) 51%),
|
||||
radial-gradient(3px 3px at 250px 20px, rgba(255,255,255,.8) 50%, rgba(255,255,255,0) 51%);
|
||||
background-repeat: repeat;
|
||||
background-size: 300px 200px, 400px 300px, 350px 250px, 500px 400px;
|
||||
animation: pdzSnowFall 18s linear infinite;
|
||||
}
|
||||
|
||||
/* Plusieurs couches pour un effet de profondeur via parallax */
|
||||
.pdz-snow::before,
|
||||
.pdz-snow::after {
|
||||
content: "";
|
||||
position: absolute; inset: 0;
|
||||
background-image:
|
||||
radial-gradient(2px 2px at 40px 60px, rgba(255,255,255,.8) 50%, rgba(255,255,255,0) 51%),
|
||||
radial-gradient(3px 3px at 120px 200px, rgba(255,255,255,.75) 50%, rgba(255,255,255,0) 51%),
|
||||
radial-gradient(2px 2px at 220px 160px, rgba(255,255,255,.8) 50%, rgba(255,255,255,0) 51%);
|
||||
background-repeat: repeat;
|
||||
}
|
||||
.pdz-snow::before {
|
||||
background-size: 260px 180px, 380px 280px, 320px 220px;
|
||||
animation: pdzSnowFallSlow 28s linear infinite;
|
||||
}
|
||||
.pdz-snow::after {
|
||||
background-size: 200px 140px, 300px 220px, 260px 200px;
|
||||
animation: pdzSnowFallFast 12s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes pdzSnowFall {
|
||||
from { transform: translateY(-10%); }
|
||||
to { transform: translateY(100%); }
|
||||
}
|
||||
@keyframes pdzSnowFallSlow {
|
||||
from { transform: translateY(-10%); }
|
||||
to { transform: translateY(100%); }
|
||||
}
|
||||
@keyframes pdzSnowFallFast {
|
||||
from { transform: translateY(-10%); }
|
||||
to { transform: translateY(100%); }
|
||||
}
|
||||
|
||||
/* Respect des préférences d'accessibilité */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.pdz-snow, .pdz-snow::before, .pdz-snow::after { animation: none; }
|
||||
}
|
||||
|
||||
/* ——— Footer: petite touche festive discrète ——— */
|
||||
footer.pdz-xmas { position: relative; }
|
||||
footer.pdz-xmas::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: 0; right: 0; top: 0;
|
||||
height: 4px;
|
||||
background: repeating-linear-gradient(45deg,
|
||||
#d61c4e 0 12px,
|
||||
#1b8f3a 12px 24px,
|
||||
#ffffff 24px 36px);
|
||||
opacity: .55;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.footer-legal .pdz-holiday-greeting {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: .35rem;
|
||||
color: var(--fg);
|
||||
font-weight: 500;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue