diff --git a/stirling-pdf/src/main/resources/static/css/navbar.css b/stirling-pdf/src/main/resources/static/css/navbar.css
index 78c806267..bf3488d81 100644
--- a/stirling-pdf/src/main/resources/static/css/navbar.css
+++ b/stirling-pdf/src/main/resources/static/css/navbar.css
@@ -479,9 +479,8 @@ html[dir="rtl"] .dropdown-menu[data-bs-popper] {
display: flex;
gap: 30px;
justify-content: center;
- width: 140%;
+ width: 100%;
position: relative;
- left: -20%;
}
.feature-group {
diff --git a/stirling-pdf/src/main/resources/templates/fragments/common.html b/stirling-pdf/src/main/resources/templates/fragments/common.html
index c6d8c17f8..4b06c819b 100644
--- a/stirling-pdf/src/main/resources/templates/fragments/common.html
+++ b/stirling-pdf/src/main/resources/templates/fragments/common.html
@@ -32,8 +32,8 @@
// Counter-scale to maintain same visual size
const navScale = 1.1 / currentDPR;
- // Scale dropdowns relative to navbar scaling to keep them proportional
- const dropdownScale = Math.min(1.1, 1.1 / Math.sqrt(currentDPR));
+ // Dropdowns at 100% (no additional scaling)
+ const dropdownScale = 1.0;
console.log('DPR:', currentDPR, 'navScale:', navScale, 'will apply scaling');
@@ -51,16 +51,28 @@
const marginAdjustment = scaledHeight - baseHeight;
navbar.style.marginBottom = `${marginAdjustment}px`;
+ // Adjust responsive breakpoint based on effective width after scaling
+ const effectiveWidth = window.innerWidth / navScale;
+ if (effectiveWidth >= 1200) {
+ navbar.classList.add('navbar-expand-lg');
+ navbar.classList.remove('navbar-expand-xl');
+ } else {
+ navbar.classList.add('navbar-expand-xl');
+ navbar.classList.remove('navbar-expand-lg');
+ }
- console.log('Applied navbar scale:', navScale);
+ console.log('Applied navbar scale:', navScale, 'effective width:', effectiveWidth);
}
setTimeout(() => {
const dropdowns = document.querySelectorAll('.dropdown-menu');
dropdowns.forEach(dropdown => {
- dropdown.style.transform = `scale(${dropdownScale})`;
+ // Scale content, not container
+ dropdown.style.fontSize = `${dropdownScale}em`;
+ // Reset any container scaling
+ dropdown.style.transform = '';
});
- console.log('Applied dropdown scale:', dropdownScale);
+ console.log('Applied dropdown content scale:', dropdownScale);
}, 100);
}
@@ -68,14 +80,13 @@
document.addEventListener('DOMContentLoaded', scaleNav);
- // Poll for DPR changes every 200ms
setInterval(() => {
const currentDPR = window.devicePixelRatio;
if (Math.abs(currentDPR - lastDPR) > 0.01) {
lastDPR = currentDPR;
scaleNav();
}
- }, 200);
+ }, 100);
diff --git a/stirling-pdf/src/main/resources/templates/fragments/footer.html b/stirling-pdf/src/main/resources/templates/fragments/footer.html
index 01616ddca..2d8465bf5 100644
--- a/stirling-pdf/src/main/resources/templates/fragments/footer.html
+++ b/stirling-pdf/src/main/resources/templates/fragments/footer.html
@@ -1,7 +1,7 @@