Add tight glass container around scroll nav buttons

Wrapped scroll buttons in contained glass containers:
- Tight 10x10 button inside glass container
- Positioned vertically centered with offset from edges
- Container has full glassmorphic treatment
- 12px border radius for rounded corners
- 2px padding creates tight fit around button
- Hover effects on container instead of button
- Button is transparent, inherits container styling

Creates a more defined, pill-shaped button appearance.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Dorian
2026-02-03 00:45:56 +00:00
parent 4558415d80
commit 36c913dd23

View File

@@ -6,17 +6,19 @@
<div class="relative group">
<!-- Scroll Left Button -->
<button
<div
v-if="canScrollLeft"
@click="scrollLeft"
class="hidden md:flex items-center justify-center absolute left-2 top-1/2 -translate-y-1/2 z-10 transition-all"
class="scroll-nav-container hidden md:flex absolute left-4 top-1/2 -translate-y-1/2 z-10"
>
<div class="scroll-nav-icon">
<button
@click="scrollLeft"
class="scroll-nav-button flex items-center justify-center w-10 h-10 transition-all"
>
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
</svg>
</div>
</button>
</button>
</div>
<!-- Content Slider -->
<div
@@ -46,17 +48,19 @@
</div>
<!-- Scroll Right Button -->
<button
<div
v-if="canScrollRight"
@click="scrollRight"
class="hidden md:flex items-center justify-center absolute right-2 top-1/2 -translate-y-1/2 z-10 transition-all"
class="scroll-nav-container hidden md:flex absolute right-4 top-1/2 -translate-y-1/2 z-10"
>
<div class="scroll-nav-icon">
<button
@click="scrollRight"
class="scroll-nav-button flex items-center justify-center w-10 h-10 transition-all"
>
<svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24">
<path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/>
</svg>
</div>
</button>
</button>
</div>
</div>
</div>
</template>
@@ -129,9 +133,7 @@ onUnmounted(() => {
letter-spacing: 0.05em; /* 5% character spacing */
}
.scroll-nav-icon {
padding: 8px;
border-radius: 12px;
.scroll-nav-container {
background: rgba(0, 0, 0, 0.35);
backdrop-filter: blur(24px);
-webkit-backdrop-filter: blur(24px);
@@ -139,24 +141,31 @@ onUnmounted(() => {
box-shadow:
0 8px 24px rgba(0, 0, 0, 0.45),
inset 0 1px 0 rgba(255, 255, 255, 0.15);
color: rgba(255, 255, 255, 0.8);
border-radius: 12px;
padding: 2px;
opacity: 0.7;
transition: all 0.3s ease;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
button:hover .scroll-nav-icon {
.scroll-nav-container:hover {
background: rgba(0, 0, 0, 0.45);
border-color: rgba(255, 255, 255, 0.15);
opacity: 1;
color: rgba(255, 255, 255, 1);
box-shadow:
0 12px 32px rgba(0, 0, 0, 0.6),
inset 0 1px 0 rgba(255, 255, 255, 0.2);
transform: scale(1.05);
}
.scroll-nav-button {
background: transparent;
border: none;
color: rgba(255, 255, 255, 0.8);
cursor: pointer;
border-radius: 10px;
}
.scroll-nav-container:hover .scroll-nav-button {
color: rgba(255, 255, 255, 1);
}
.glass-card {