Ariver
2026-06-06 329ec34881be1ff7b5632cdbd712a0850c85f784
Restore hero stack visual: full design crop with 3D perspective
3 files modified
1 files added
66 ■■■■■ changed files
docs/assets/hero-visual-stack.jpg patch | view | raw | blame | history
docs/index-en.html 17 ●●●●● patch | view | raw | blame | history
docs/index.html 17 ●●●●● patch | view | raw | blame | history
docs/styles.css 32 ●●●● patch | view | raw | blame | history
docs/assets/hero-visual-stack.jpg
docs/index-en.html
@@ -5,7 +5,7 @@
  <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.jpg">
  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual-stack.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">
@@ -37,15 +37,18 @@
        <p class="hero__lead">Don't mourn Launchpad on macOS 26 Tahoe. It was never truly good—it was only barely usable.</p>
      </div>
      <figure class="hero__visual">
      <div class="hero__visual" aria-hidden="true">
        <div class="hero__stack-stage">
        <img
          src="assets/hero-visual.jpg"
          alt="TagLauncher App Grid with colorful tags"
          width="553"
          height="619"
            class="hero__stack-img"
            src="assets/hero-visual-stack.jpg"
            alt=""
            width="634"
            height="687"
          fetchpriority="high"
          decoding="async">
      </figure>
        </div>
      </div>
    </div>
  </section>
docs/index.html
@@ -5,7 +5,7 @@
  <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.jpg">
  <meta property="og:image" content="https://shanghai3168.github.io/taglauncher/assets/hero-visual-stack.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">
@@ -37,15 +37,18 @@
        <p class="hero__lead">不用怀念 macOS 26 Tahoe 上消失的 Launchpad(启动台),因为他从来都没真的好用过,他从来就勉强可以用</p>
      </div>
      <figure class="hero__visual">
      <div class="hero__visual" aria-hidden="true">
        <div class="hero__stack-stage">
        <img
          src="assets/hero-visual.jpg"
          alt="TagLauncher 应用网格界面:彩色标签分类与可滚动应用图标"
          width="553"
          height="619"
            class="hero__stack-img"
            src="assets/hero-visual-stack.jpg"
            alt=""
            width="634"
            height="687"
          fetchpriority="high"
          decoding="async">
      </figure>
        </div>
      </div>
    </div>
  </section>
docs/styles.css
@@ -192,16 +192,30 @@
}
.hero__visual {
  margin: 0;
  line-height: 0;
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.hero__visual img {
.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 {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  margin-left: 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 */
@@ -371,9 +385,13 @@
    gap: 32px;
  }
  .hero__visual img {
    margin-left: 0;
  .hero__stack-stage {
    max-width: 100%;
    margin-left: 0;
  }
  .hero__stack-img {
    transform: rotateY(-7deg) rotateX(3deg);
  }
}