Fix mobile view for weather effects
- Replace % units with dvh/vw for dynamic viewport sizing - Fix stars, fireflies, dust motes, and light orbs positioning - Fix moon and moon glow positioning to use dvh/vw - Update snowfall and rainfall animations to use 100dvh - Ensures proper distribution across full mobile viewport
This commit is contained in:
@@ -247,8 +247,8 @@ function createSunshine() {
|
|||||||
for (let i = 0; i < 25; i++) {
|
for (let i = 0; i < 25; i++) {
|
||||||
const particle = document.createElement('div');
|
const particle = document.createElement('div');
|
||||||
particle.className = 'rpg-weather-particle rpg-clear-dust-mote';
|
particle.className = 'rpg-weather-particle rpg-clear-dust-mote';
|
||||||
particle.style.left = `${Math.random() * 100}%`;
|
particle.style.left = `${Math.random() * 100}vw`;
|
||||||
particle.style.top = `${Math.random() * 100}%`;
|
particle.style.top = `${Math.random() * 100}dvh`;
|
||||||
particle.style.animationDelay = `${Math.random() * 15}s`;
|
particle.style.animationDelay = `${Math.random() * 15}s`;
|
||||||
particle.style.animationDuration = `${12 + Math.random() * 8}s`;
|
particle.style.animationDuration = `${12 + Math.random() * 8}s`;
|
||||||
// Vary the size slightly
|
// Vary the size slightly
|
||||||
@@ -262,8 +262,8 @@ function createSunshine() {
|
|||||||
for (let i = 0; i < 6; i++) {
|
for (let i = 0; i < 6; i++) {
|
||||||
const orb = document.createElement('div');
|
const orb = document.createElement('div');
|
||||||
orb.className = 'rpg-weather-particle rpg-clear-light-orb';
|
orb.className = 'rpg-weather-particle rpg-clear-light-orb';
|
||||||
orb.style.left = `${10 + Math.random() * 80}%`;
|
orb.style.left = `${10 + Math.random() * 80}vw`;
|
||||||
orb.style.top = `${10 + Math.random() * 80}%`;
|
orb.style.top = `${10 + Math.random() * 80}dvh`;
|
||||||
orb.style.animationDelay = `${i * 2}s`;
|
orb.style.animationDelay = `${i * 2}s`;
|
||||||
orb.style.animationDuration = `${20 + Math.random() * 10}s`;
|
orb.style.animationDuration = `${20 + Math.random() * 10}s`;
|
||||||
// Vary the size
|
// Vary the size
|
||||||
@@ -307,8 +307,8 @@ function createNighttime() {
|
|||||||
for (let i = 0; i < 60; i++) {
|
for (let i = 0; i < 60; i++) {
|
||||||
const star = document.createElement('div');
|
const star = document.createElement('div');
|
||||||
star.className = 'rpg-weather-particle rpg-night-star';
|
star.className = 'rpg-weather-particle rpg-night-star';
|
||||||
star.style.left = `${Math.random() * 100}%`;
|
star.style.left = `${Math.random() * 100}vw`;
|
||||||
star.style.top = `${Math.random() * 60}%`; // Stars mostly in upper portion
|
star.style.top = `${Math.random() * 60}dvh`; // Stars mostly in upper portion
|
||||||
star.style.animationDelay = `${Math.random() * 5}s`;
|
star.style.animationDelay = `${Math.random() * 5}s`;
|
||||||
star.style.animationDuration = `${2 + Math.random() * 3}s`;
|
star.style.animationDuration = `${2 + Math.random() * 3}s`;
|
||||||
// Vary the size
|
// Vary the size
|
||||||
@@ -322,8 +322,8 @@ function createNighttime() {
|
|||||||
for (let i = 0; i < 8; i++) {
|
for (let i = 0; i < 8; i++) {
|
||||||
const brightStar = document.createElement('div');
|
const brightStar = document.createElement('div');
|
||||||
brightStar.className = 'rpg-weather-particle rpg-night-star rpg-night-star-bright';
|
brightStar.className = 'rpg-weather-particle rpg-night-star rpg-night-star-bright';
|
||||||
brightStar.style.left = `${Math.random() * 100}%`;
|
brightStar.style.left = `${Math.random() * 100}vw`;
|
||||||
brightStar.style.top = `${Math.random() * 50}%`;
|
brightStar.style.top = `${Math.random() * 50}dvh`;
|
||||||
brightStar.style.animationDelay = `${Math.random() * 4}s`;
|
brightStar.style.animationDelay = `${Math.random() * 4}s`;
|
||||||
brightStar.style.animationDuration = `${3 + Math.random() * 2}s`;
|
brightStar.style.animationDuration = `${3 + Math.random() * 2}s`;
|
||||||
container.appendChild(brightStar);
|
container.appendChild(brightStar);
|
||||||
@@ -333,8 +333,8 @@ function createNighttime() {
|
|||||||
for (let i = 0; i < 15; i++) {
|
for (let i = 0; i < 15; i++) {
|
||||||
const firefly = document.createElement('div');
|
const firefly = document.createElement('div');
|
||||||
firefly.className = 'rpg-weather-particle rpg-night-firefly';
|
firefly.className = 'rpg-weather-particle rpg-night-firefly';
|
||||||
firefly.style.left = `${Math.random() * 100}%`;
|
firefly.style.left = `${Math.random() * 100}vw`;
|
||||||
firefly.style.top = `${40 + Math.random() * 55}%`; // Fireflies in lower portion
|
firefly.style.top = `${40 + Math.random() * 55}dvh`; // Fireflies in lower portion
|
||||||
firefly.style.animationDelay = `${Math.random() * 10}s`;
|
firefly.style.animationDelay = `${Math.random() * 10}s`;
|
||||||
firefly.style.animationDuration = `${8 + Math.random() * 7}s`;
|
firefly.style.animationDuration = `${8 + Math.random() * 7}s`;
|
||||||
container.appendChild(firefly);
|
container.appendChild(firefly);
|
||||||
|
|||||||
@@ -9524,11 +9524,11 @@ body[data-theme="cyberpunk"] .rpg-music-widget-play {
|
|||||||
/* Snowfall animation */
|
/* Snowfall animation */
|
||||||
@keyframes rpg-snowfall {
|
@keyframes rpg-snowfall {
|
||||||
0% {
|
0% {
|
||||||
transform: translateY(0vh) rotate(0deg);
|
transform: translateY(0) rotate(0deg);
|
||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
transform: translateY(100vh) rotate(360deg);
|
transform: translateY(100dvh) rotate(360deg);
|
||||||
opacity: 0.2;
|
opacity: 0.2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9598,7 +9598,7 @@ body[data-theme="cyberpunk"] .rpg-music-widget-play {
|
|||||||
opacity: 0.8;
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
transform: translateY(100vh);
|
transform: translateY(100dvh);
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9849,8 +9849,8 @@ body[data-theme="cyberpunk"] .rpg-music-widget-play {
|
|||||||
/* Moon */
|
/* Moon */
|
||||||
.rpg-night-moon {
|
.rpg-night-moon {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 8%;
|
top: 8dvh;
|
||||||
left: 12%;
|
left: 12vw;
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
background: radial-gradient(circle at 35% 35%,
|
background: radial-gradient(circle at 35% 35%,
|
||||||
@@ -9880,8 +9880,8 @@ body[data-theme="cyberpunk"] .rpg-music-widget-play {
|
|||||||
/* Moon glow aura */
|
/* Moon glow aura */
|
||||||
.rpg-night-moon-glow {
|
.rpg-night-moon-glow {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 5%;
|
top: 5dvh;
|
||||||
left: 9%;
|
left: 9vw;
|
||||||
width: 120px;
|
width: 120px;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
background: radial-gradient(circle at center,
|
background: radial-gradient(circle at center,
|
||||||
|
|||||||
Reference in New Issue
Block a user