Fix hero: use original design visual crop, no CSS 3D transforms
Left column stays as HTML copy for SEO; right column shows the stacked
windows exactly as in the user's redesign (vertical crop only).
3 files modified
2 files added
| | |
| | | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| | | <title>TagLauncher — Tag-based Mac app launcher</title> |
| | | <meta name="description" content="TagLauncher organizes Mac apps with tags: scrollable grid, multi-tag apps, searchable notes, JSON layout backup—beyond Launchpad folders and pages."> |
| | | <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual-stack.jpg"> |
| | | <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-design-original.jpg"> |
| | | <link rel="stylesheet" href="styles.css"> |
| | | <link rel="alternate" hreflang="en" href="index-en.html"> |
| | | <link rel="alternate" hreflang="zh-Hans" href="index.html"> |
| | |
| | | <p class="hero__lead">Don't mourn Launchpad on macOS 26 Tahoe. It was never truly good—it was only barely usable.</p> |
| | | </div> |
| | | |
| | | <div class="hero__visual" aria-hidden="true"> |
| | | <div class="hero__stack-stage"> |
| | | <figure class="hero__art"> |
| | | <img |
| | | class="hero__stack-img" |
| | | src="assets/hero-visual-stack.jpg" |
| | | src="assets/hero-visual-only.jpg" |
| | | alt="" |
| | | width="533" |
| | | width="592" |
| | | height="687" |
| | | fetchpriority="high" |
| | | decoding="async"> |
| | | </div> |
| | | </div> |
| | | decoding="async" |
| | | role="presentation"> |
| | | </figure> |
| | | </div> |
| | | </section> |
| | | |
| | |
| | | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| | | <title>TagLauncher — 标签化 Mac 应用启动器</title> |
| | | <meta name="description" content="在全球,这可能是Mac最好用的应用启动台。不用怀念 macOS 26 Tahoe 上消失的 Launchpad,TagLauncher 用标签管理 Mac 应用。"> |
| | | <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual-stack.jpg"> |
| | | <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-design-original.jpg"> |
| | | <link rel="stylesheet" href="styles.css"> |
| | | <link rel="alternate" hreflang="en" href="index-en.html"> |
| | | <link rel="alternate" hreflang="zh-Hans" href="index.html"> |
| | |
| | | <p class="hero__lead">不用怀念 macOS 26 Tahoe 上消失的 Launchpad(启动台),因为他从来都没真的好用过,他从来就勉强可以用</p> |
| | | </div> |
| | | |
| | | <div class="hero__visual" aria-hidden="true"> |
| | | <div class="hero__stack-stage"> |
| | | <figure class="hero__art"> |
| | | <img |
| | | class="hero__stack-img" |
| | | src="assets/hero-visual-stack.jpg" |
| | | src="assets/hero-visual-only.jpg" |
| | | alt="" |
| | | width="533" |
| | | width="592" |
| | | height="687" |
| | | fetchpriority="high" |
| | | decoding="async"> |
| | | </div> |
| | | </div> |
| | | decoding="async" |
| | | role="presentation"> |
| | | </figure> |
| | | </div> |
| | | </section> |
| | | |
| | |
| | | |
| | | .hero__split { |
| | | display: grid; |
| | | grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); |
| | | gap: 20px 48px; |
| | | grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); |
| | | gap: 12px 32px; |
| | | align-items: center; |
| | | min-height: calc(100svh - var(--header-h) - 96px); |
| | | min-height: calc(100vh - var(--header-h) - 96px); |
| | |
| | | max-width: 22em; |
| | | } |
| | | |
| | | .hero__visual { |
| | | position: relative; |
| | | min-height: 420px; |
| | | /* Right art: pixels from user's original design (vertical crop only — stack + reflection intact) */ |
| | | .hero__art { |
| | | margin: 0; |
| | | line-height: 0; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | } |
| | | |
| | | .hero__stack-stage { |
| | | position: relative; |
| | | width: 100%; |
| | | max-width: 620px; |
| | | margin-left: auto; |
| | | padding: 12px 0 28px; |
| | | perspective: 1600px; |
| | | perspective-origin: 35% 45%; |
| | | } |
| | | |
| | | .hero__stack-img { |
| | | .hero__art img { |
| | | display: block; |
| | | width: 100%; |
| | | max-width: 100%; |
| | | height: auto; |
| | | transform: rotateY(-11deg) rotateX(4deg) translateZ(0); |
| | | transform-origin: 40% 50%; |
| | | filter: drop-shadow(0 28px 48px rgba(30, 45, 90, 0.14)); |
| | | } |
| | | |
| | | /* Main content */ |
| | |
| | | gap: 32px; |
| | | } |
| | | |
| | | .hero__stack-stage { |
| | | max-width: 100%; |
| | | margin-left: 0; |
| | | } |
| | | |
| | | .hero__stack-img { |
| | | transform: rotateY(-7deg) rotateX(3deg); |
| | | .hero__art { |
| | | justify-content: center; |
| | | } |
| | | } |
| | | |