Skip to content

Commit a51aab6

Browse files
author
DavertMik
committed
fixed footer & sidebar
1 parent 7af1adf commit a51aab6

2 files changed

Lines changed: 24 additions & 8 deletions

File tree

src/components/PageFrame.astro

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ const shouldRenderSidebar = hasSidebar && !is404Page;
5757
visibility: var(--sl-sidebar-visibility, hidden);
5858
position: fixed;
5959
z-index: var(--sl-z-index-menu);
60-
inset-block: var(--sl-nav-height) 0;
60+
inset-block: var(--sl-nav-height) var(--cc-footer-overlap, 0px);
6161
inset-inline-start: 0;
6262
width: 100%;
6363
background-color: var(--sl-color-black);
@@ -195,11 +195,33 @@ const shouldRenderSidebar = hasSidebar && !is404Page;
195195
});
196196
}
197197

198+
let footerOverlapRaf = 0;
199+
function updateFooterOverlap() {
200+
footerOverlapRaf = 0;
201+
const footer = document.querySelector('.cc-footer');
202+
if (!footer) {
203+
document.documentElement.style.setProperty('--cc-footer-overlap', '0px');
204+
return;
205+
}
206+
const rect = footer.getBoundingClientRect();
207+
const overlap = Math.max(0, window.innerHeight - rect.top);
208+
document.documentElement.style.setProperty('--cc-footer-overlap', overlap + 'px');
209+
}
210+
function scheduleFooterOverlap() {
211+
if (footerOverlapRaf) return;
212+
footerOverlapRaf = requestAnimationFrame(updateFooterOverlap);
213+
}
214+
198215
function setup() {
199216
header = document.querySelector('#site-header');
200217

201218
wrapTablesForScroll();
202219
tagHeaderlessTables();
220+
updateFooterOverlap();
221+
window.removeEventListener('scroll', scheduleFooterOverlap);
222+
window.removeEventListener('resize', scheduleFooterOverlap);
223+
window.addEventListener('scroll', scheduleFooterOverlap, { passive: true });
224+
window.addEventListener('resize', scheduleFooterOverlap);
203225

204226
if (!header) return;
205227

src/components/SiteFooter.astro

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,7 @@ const currentYear = new Date().getFullYear();
116116
background: var(--codecept-page-bg-dark, #0a0b14);
117117
color: rgba(255, 255, 255, 0.72);
118118
border-top: 1px solid rgba(255, 255, 255, 0.06);
119-
}
120-
/* On desktop the docs sidebar is a fixed panel; lift the footer above it so
121-
it spans edge to edge instead of being tucked beside the sidebar. */
122-
@media (min-width: 50rem) {
123-
.cc-footer {
124-
z-index: calc(var(--sl-z-index-menu, 5) + 1);
125-
}
119+
position: relative;
126120
}
127121
.cc-footer-grain {
128122
position: absolute;

0 commit comments

Comments
 (0)