fix(css): unblock canvas + fmt cards click events
scroll-track was full-height (1000vh) at z-index 1 above the canvas (z:0) without pointer-events:none, so elementFromPoint(anywhere) returned scroll-track and the canvas never saw any click. Add pointer-events:none to scroll-track so the canvas underneath receives them. .fmt cards inherited pointer-events:none from parent .ov class (pattern for non-clickable text overlays). Add explicit pointer-events:auto on .fmt like .dot and .hdr-link already do for clickable overlay elements. Confirmed via Playwright elementFromPoint at the BMU center and on a Conception card — both returned scroll-track instead of expected canvas/<a class="fmt">.
This commit is contained in:
@@ -40,7 +40,7 @@ import { BmuViewer } from '@/components/BmuViewer';
|
|||||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||||
html { background: #06080b; color: #fff; overflow-x: hidden; }
|
html { background: #06080b; color: #fff; overflow-x: hidden; }
|
||||||
body { background: #06080b; min-height: 100vh; font-family: 'Courier New', monospace; }
|
body { background: #06080b; min-height: 100vh; font-family: 'Courier New', monospace; }
|
||||||
.scroll-track { height: 1000vh; position: relative; z-index: 1; }
|
.scroll-track { height: 1000vh; position: relative; z-index: 1; pointer-events: none; }
|
||||||
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
|
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
|
||||||
|
|
||||||
/* Loader */
|
/* Loader */
|
||||||
@@ -93,7 +93,7 @@ import { BmuViewer } from '@/components/BmuViewer';
|
|||||||
/* Formats */
|
/* Formats */
|
||||||
.ov-formats { bottom: clamp(30px, 5vh, 60px); left: 50%; transform: translateX(-50%); display: flex; gap: 12px; max-width: 820px; width: 92vw; }
|
.ov-formats { bottom: clamp(30px, 5vh, 60px); left: 50%; transform: translateX(-50%); display: flex; gap: 12px; max-width: 820px; width: 92vw; }
|
||||||
.ov-formats.on { transform: translateX(-50%); }
|
.ov-formats.on { transform: translateX(-50%); }
|
||||||
.fmt { flex: 1; padding: 14px 16px; border-radius: 8px; background: rgba(6,8,11,0.7); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.05); text-align: center; text-decoration: none; color: inherit; cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
|
.fmt { flex: 1; padding: 14px 16px; border-radius: 8px; background: rgba(6,8,11,0.7); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.05); text-align: center; text-decoration: none; color: inherit; cursor: pointer; pointer-events: auto; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
|
||||||
.fmt:hover { background: rgba(6,8,11,0.85); border-color: rgba(255,255,255,0.18); transform: translateY(-2px); }
|
.fmt:hover { background: rgba(6,8,11,0.85); border-color: rgba(255,255,255,0.18); transform: translateY(-2px); }
|
||||||
.fmt-t { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 4px; }
|
.fmt-t { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 4px; }
|
||||||
.fmt-d { font-size: 10px; color: rgba(255,255,255,0.35); }
|
.fmt-d { font-size: 10px; color: rgba(255,255,255,0.35); }
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ import { BmuViewer } from '@/components/BmuViewer';
|
|||||||
* { margin: 0; padding: 0; box-sizing: border-box; }
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
||||||
html { background: #06080b; color: #fff; overflow-x: hidden; }
|
html { background: #06080b; color: #fff; overflow-x: hidden; }
|
||||||
body { background: #06080b; min-height: 100vh; font-family: 'Courier New', monospace; }
|
body { background: #06080b; min-height: 100vh; font-family: 'Courier New', monospace; }
|
||||||
.scroll-track { height: 1000vh; position: relative; z-index: 1; }
|
.scroll-track { height: 1000vh; position: relative; z-index: 1; pointer-events: none; }
|
||||||
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
|
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
|
||||||
|
|
||||||
/* Loader */
|
/* Loader */
|
||||||
@@ -84,7 +84,7 @@ import { BmuViewer } from '@/components/BmuViewer';
|
|||||||
/* Formats */
|
/* Formats */
|
||||||
.ov-formats { bottom: clamp(30px, 5vh, 60px); left: 50%; transform: translateX(-50%); display: flex; gap: 12px; max-width: 820px; width: 92vw; }
|
.ov-formats { bottom: clamp(30px, 5vh, 60px); left: 50%; transform: translateX(-50%); display: flex; gap: 12px; max-width: 820px; width: 92vw; }
|
||||||
.ov-formats.on { transform: translateX(-50%); }
|
.ov-formats.on { transform: translateX(-50%); }
|
||||||
.fmt { flex: 1; padding: 14px 16px; border-radius: 8px; background: rgba(6,8,11,0.7); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.05); text-align: center; text-decoration: none; color: inherit; cursor: pointer; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
|
.fmt { flex: 1; padding: 14px 16px; border-radius: 8px; background: rgba(6,8,11,0.7); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.05); text-align: center; text-decoration: none; color: inherit; cursor: pointer; pointer-events: auto; transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease; }
|
||||||
.fmt:hover { background: rgba(6,8,11,0.85); border-color: rgba(255,255,255,0.18); transform: translateY(-2px); }
|
.fmt:hover { background: rgba(6,8,11,0.85); border-color: rgba(255,255,255,0.18); transform: translateY(-2px); }
|
||||||
.fmt-t { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 4px; }
|
.fmt-t { font-size: 13px; font-weight: 700; color: #fff; letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 4px; }
|
||||||
.fmt-d { font-size: 10px; color: rgba(255,255,255,0.35); }
|
.fmt-d { font-size: 10px; color: rgba(255,255,255,0.35); }
|
||||||
|
|||||||
Reference in New Issue
Block a user