Main functions
This commit is contained in:
108
.history/public/css/sticky-price_20251026095249.css
Normal file
108
.history/public/css/sticky-price_20251026095249.css
Normal file
@@ -0,0 +1,108 @@
|
||||
/* Dynamic Island Style Sticky Price Display */
|
||||
#priceDisplay {
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
/* Enhanced visibility and Dynamic Island effects */
|
||||
#priceDisplay.scrolled {
|
||||
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
|
||||
transform: translateX(-50%) scale(1.02);
|
||||
}
|
||||
|
||||
/* Hover effects for Dynamic Island */
|
||||
#priceDisplay:hover {
|
||||
transform: translateX(-50%) scale(1.05);
|
||||
box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
/* Animation for price updates */
|
||||
#currentPrice {
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
#currentPrice.updating {
|
||||
transform: scale(1.1);
|
||||
filter: brightness(1.2);
|
||||
}
|
||||
|
||||
/* Enhanced pulse animation for live indicator */
|
||||
.animate-pulse-soft {
|
||||
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
||||
}
|
||||
|
||||
@keyframes pulse-soft {
|
||||
0%, 100% {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
opacity: 0.7;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Mobile responsiveness improvements */
|
||||
@media (max-width: 1024px) {
|
||||
#priceDisplay {
|
||||
position: relative !important;
|
||||
bottom: auto !important;
|
||||
left: auto !important;
|
||||
transform: none !important;
|
||||
margin: 1rem 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#mobilePriceDisplay {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
#mobilePriceDisplay:hover {
|
||||
transform: scale(1.02);
|
||||
}
|
||||
}
|
||||
|
||||
/* Dark mode enhancements for Dynamic Island */
|
||||
.dark #priceDisplay .bg-black\/80 {
|
||||
background: rgba(17, 24, 39, 0.9);
|
||||
backdrop-filter: blur(24px);
|
||||
}
|
||||
|
||||
/* Dynamic Island entrance animation */
|
||||
#priceDisplay.visible {
|
||||
animation: slideInBottom 0.5s ease-out;
|
||||
}
|
||||
|
||||
@keyframes slideInBottom {
|
||||
from {
|
||||
transform: translateX(-50%) translateY(100%);
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
transform: translateX(-50%) translateY(0);
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Enhanced shadow for Dynamic Island aesthetic */
|
||||
#priceDisplay .shadow-2xl {
|
||||
box-shadow:
|
||||
0 25px 50px -12px rgba(0, 0, 0, 0.4),
|
||||
0 0 0 1px rgba(255, 255, 255, 0.1),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.dark #priceDisplay .shadow-2xl {
|
||||
box-shadow:
|
||||
0 25px 50px -12px rgba(0, 0, 0, 0.6),
|
||||
0 0 0 1px rgba(255, 255, 255, 0.05),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
/* Mobile Dynamic Island styling */
|
||||
#mobilePriceDisplay .shadow-2xl {
|
||||
box-shadow:
|
||||
0 20px 40px -12px rgba(0, 0, 0, 0.4),
|
||||
0 0 0 1px rgba(255, 255, 255, 0.1),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
Reference in New Issue
Block a user