diff --git a/src/client/components/ui/folder.vue b/src/client/components/ui/folder.vue index 523298f22..6a163130c 100644 --- a/src/client/components/ui/folder.vue +++ b/src/client/components/ui/folder.vue @@ -98,11 +98,10 @@ export default defineComponent({ > header { display: flex; position: relative; - z-index: 2; - // TODO - // position: sticky; - // top: var(--stickyTopOffset); - // backdrop-filter: blur(20px); + z-index: 10; + position: sticky; + top: var(--stickyTop, 0px); + backdrop-filter: blur(20px); > .title { margin: 0; diff --git a/src/client/directives/sticky-container.ts b/src/client/directives/sticky-container.ts index db29ea64b..60b442eba 100644 --- a/src/client/directives/sticky-container.ts +++ b/src/client/directives/sticky-container.ts @@ -5,7 +5,7 @@ export default { //const query = binding.value; const header = src.children[0]; - const currentStickyTop = getComputedStyle(src).getPropertyValue('--stickyTop'); + const currentStickyTop = getComputedStyle(src).getPropertyValue('--stickyTop') || '0px'; src.style.setProperty('--stickyTop', `${parseInt(currentStickyTop) + header.offsetHeight}px`); header.style.setProperty('--stickyTop', currentStickyTop); header.style.position = 'sticky'; diff --git a/src/client/ui/universal.vue b/src/client/ui/universal.vue index 1387b02b2..3e2ee2881 100644 --- a/src/client/ui/universal.vue +++ b/src/client/ui/universal.vue @@ -259,6 +259,7 @@ export default defineComponent({ > .contents { width: 100%; min-width: 0; + --stickyTop: #{$header-height}; &.withHeader { padding-top: $header-height;