diff --git a/links/templates/links/link_list.html b/links/templates/links/link_list.html index 3b5abe5..cc6f5b4 100644 --- a/links/templates/links/link_list.html +++ b/links/templates/links/link_list.html @@ -438,7 +438,7 @@ -
+
@@ -695,6 +695,11 @@ if (reducedMotion || !('IntersectionObserver' in window)) { revealEls.forEach(el => el.classList.add('in-view')); } else { + // threshold: 0 fires as soon as any part of the target intersects the + // root, regardless of the target's own size. Using a ratio-based + // threshold (e.g. 0.08) breaks for tall elements (like a long table) + // whose intersection ratio can never reach that fraction even when + // most of it is on screen, leaving it permanently hidden. const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { @@ -702,7 +707,7 @@ observer.unobserve(entry.target); } }); - }, { threshold: 0.08, rootMargin: '0px 0px -6% 0px' }); + }, { threshold: 0, rootMargin: '0px 0px -6% 0px' }); revealEls.forEach(el => observer.observe(el)); }