feat: Add iOS-style blur bar for mobile buttons and landscape optimizations
Mobile Portrait Enhancements: - Added iOS-style blur backdrop behind fixed buttons - Frosted glass effect with backdrop-filter: blur(20px) saturate(180%) - Semi-transparent background with border-top separator - Dark mode variant for theme consistency - Z-index 98 (below buttons at 99) - pointer-events: none to maintain button animations and clicks Landscape Orientation Fixes: - Hide profile photo to maximize vertical space - Compact header with reduced font sizes (1.2rem) - Reduced padding on action bar, sidebar, and sections - Optimized button sizes (40x40px) and positions - Fixed hamburger menu positioning in landscape Files Modified: - static/css/05-responsive/_breakpoints.css: Added blur backdrop and landscape styles - templates/index.html: Added fixed-buttons-backdrop element - tests/mjs/48-mobile-landscape-and-blur-test.mjs: Comprehensive test suite Test Results: ✅ Blur backdrop exists with correct blur effect ✅ Fixed position at bottom with 90px height ✅ Border separator visible (0.5px) ✅ Photo hidden in landscape mode ✅ Compact sizing applied in landscape ✅ All animations maintained (backdrop separate from buttons) Screenshots: - tests/screenshots/mobile-portrait-blur-bar.png - tests/screenshots/mobile-landscape-optimized.png
This commit is contained in:
@@ -665,3 +665,107 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ========================================
|
||||
Mobile: iOS-Style Button Bar with Blur
|
||||
======================================== */
|
||||
|
||||
@media (max-width: 540px) {
|
||||
/* iOS-style blur bar behind fixed buttons */
|
||||
.fixed-buttons-backdrop {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 90px; /* Enough to cover button area */
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
backdrop-filter: blur(20px) saturate(180%);
|
||||
-webkit-backdrop-filter: blur(20px) saturate(180%);
|
||||
border-top: 0.5px solid rgba(0, 0, 0, 0.1);
|
||||
z-index: 98; /* Below buttons (99) but above content */
|
||||
pointer-events: none; /* Don't block button clicks */
|
||||
}
|
||||
|
||||
/* Dark mode blur bar */
|
||||
[data-color-theme="dark"] .fixed-buttons-backdrop,
|
||||
[data-color-theme="auto"] .fixed-buttons-backdrop {
|
||||
background: rgba(30, 30, 30, 0.8);
|
||||
border-top: 0.5px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
}
|
||||
|
||||
/* ========================================
|
||||
Landscape Orientation Fixes
|
||||
======================================== */
|
||||
|
||||
@media (max-width: 915px) and (orientation: landscape) {
|
||||
/* Reduce header size in landscape */
|
||||
.cv-header {
|
||||
margin-bottom: 1rem !important;
|
||||
}
|
||||
|
||||
.cv-name {
|
||||
font-size: 1.2rem !important;
|
||||
}
|
||||
|
||||
.years-experience {
|
||||
font-size: 0.9em !important;
|
||||
}
|
||||
|
||||
/* Hide photo in landscape to save vertical space */
|
||||
.cv-photo {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
/* Compact action bar */
|
||||
.action-bar {
|
||||
padding: 0.5rem 1rem !important;
|
||||
}
|
||||
|
||||
/* Reduce sidebar padding */
|
||||
.cv-sidebar {
|
||||
padding: 1rem !important;
|
||||
}
|
||||
|
||||
/* Compact sections */
|
||||
.section-title {
|
||||
font-size: 1rem !important;
|
||||
margin-bottom: 0.5rem !important;
|
||||
}
|
||||
|
||||
/* Reduce margins */
|
||||
.experience-item,
|
||||
.project-item,
|
||||
.course-item {
|
||||
margin-bottom: 1rem !important;
|
||||
}
|
||||
|
||||
/* Make hamburger menu more accessible in landscape */
|
||||
.hamburger-menu {
|
||||
position: fixed !important;
|
||||
top: 10px !important;
|
||||
left: 10px !important;
|
||||
z-index: 1001 !important;
|
||||
}
|
||||
|
||||
/* Adjust fixed buttons for landscape */
|
||||
.fixed-btn {
|
||||
bottom: 1rem !important;
|
||||
width: 40px !important;
|
||||
height: 40px !important;
|
||||
}
|
||||
|
||||
.back-to-top-btn {
|
||||
right: 1rem !important;
|
||||
}
|
||||
|
||||
.shortcuts-btn {
|
||||
left: 1rem !important;
|
||||
bottom: 5rem !important;
|
||||
}
|
||||
|
||||
.zoom-toggle-btn {
|
||||
left: 1rem !important;
|
||||
bottom: 9rem !important;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user