# 產品介紹

深灰主色產品形象頁：毛玻璃主視覺卡、六張特色卡、FAQ 手風琴、行動呼籲橫幅與兩張簡介卡。

## 概要

| 項目 | 內容 |
|---|---|
| 製作日期 | 2023-03-13 |
| 分類 | 商業網站範例 |
| HTML 檔案 | `index.html` |
| 原始碼 | [target/20230313](https://github.com/pardnio/demo-web/tree/main/target/20230313) |

## 即時預覽

<iframe src="/target/20230313/" title="產品介紹" loading="lazy" style="width:100%;height:640px;border:1px solid #e5e7eb;border-radius:8px"></iframe>

[在新分頁開啟範例](/target/20230313/)

## 頁面區塊

| 區塊 | 說明 |
|---|---|
| 頂部導覽列 | 固定頂部導覽 #nav-002：PARDNCHIU logo、ITEM 按鈕、GitHub 連結、漢堡按鈕 |
| 主視覺（header=2） | 背景圖主視覺；內容框為半透明白＋backdrop-filter 模糊，「查看源碼」按鈕 |
| 特色卡片（num=18） | 弧形分隔與三欄六張圖片＋標題卡 |
| FAQ 手風琴（num=19） | 標題與四個可展開問題 |
| 行動呼籲橫幅 | 背景圖區塊：「準備好開始了嗎？」與「立即獲取 PD Web Pro」按鈕 |
| 簡介卡（num=20） | 兩張圓形頭像卡：Pardn Chiu 全端工程師、帕登國際有限公司 軟體公司 |
| 頁尾（footer num=1） | 上框線淺色頁尾與四欄連結 |

## 互動行為

- js/index.js：body.onscroll 超過 48px 時以 PDRenderKit 字串擴充（"nav-002".$._class / class_）切換 #nav-002 的 .scroll
- js/index.js：將自訂屬性 top / bottom / bg-col / col / bg-img 轉為 inline padding、背景色、文字色、背景圖（-- 開頭值轉為 var(--x)）
- js/index.js：把 span[mask=arc|arc-up|arc-down|slash-left|slash-right|wave] 替換成依 viewport 寬度產生的 inline SVG 分隔曲線（&gt;1024px 時 64/128px）
- inline script showContent(this)：手風琴，點按鈕切換所屬 li 的 .show 並關閉其他已展開項目
- js/index.js 包在 DOMContentLoaded 內，依賴 PDRenderKit 原型擴充（$all、$attr、_style、$style、$parent、_class、class_）

## 相依資源

| 名稱 | 版本 | 來源 |
|---|---|---|
| Font Awesome Free | 6.5.2 | https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.2/css/all.min.css |
| PDRenderKit | 1.0.0 | https://cdn.jsdelivr.net/npm/pdrenderkit@1.0.0/dist/PDRenderKit.js |
| Google Analytics (gtag.js) | G-L5VYEZPVXX | https://www.googletagmanager.com/gtag/js?id=G-L5VYEZPVXX |
| Page stylesheet (compiled SCSS) | - | ./css/index.css |
| Page script | - | ./js/index.js |

## 樣式

| 項目 | 內容 |
|---|---|
| SCSS 入口 | `sass/index.scss` |
| 輸出 CSS | `css/index.css` |
| Partials | `nav/_001.scss`, `nav/_002.scss`, `nav/_body.scss`, `header/_001.scss`, `header/_002.scss`, `header/_003.scss`, `section/_000.scss ... section/_022.scss`, `section/_015-top.scss`, `section/_015-center.scss`, `section/_015-bottom.scss`, `footer/_001.scss`, `comp/_div-info.scss`, `comp/_innerText.scss`, `comp/_li-r2.scss`, `comp/_li-r3.scss`, `comp/_li-r4.scss`, `comp/_ul-button.scss` |

共用區塊庫：index.scss 在 body 內 import 全部 nav/header/section/footer partial，以屬性選擇器（nav[num]、section[header=N]、section[num=N]、footer[num]）對應；comp/* 為在 section 內 import 的片段（r2/r3/r4 響應式欄寬、div-info 標題區）。component/_info.scss、comp/_w-h-rate.scss、section/_rm-1st-top.scss 存在但未被 import。本份 header/_002.scss 與 section/_015-center.scss 與 20230302 不同。image/full.svg、half.svg、joball.jpg 存在但未被引用。

```bash
cd target/20230313
npx sass sass/index.scss css/index.css --no-source-map || exit 1
```

## 使用技巧

- inline &lt;style&gt; :root 以 CSS 變數設定主題（--col-nav、--col-system、--col-txt、--col-border、--max-width）
- 屬性驅動版型：section[num=N] / section[header=N] / nav[num] 對應預製 SCSS 區塊；ul.r2/.r3/.r4 選 2/3/4 欄卡片
- 固定頂部導覽列與漢堡按鈕；media query 斷點 max-width 413/479/639/799/1023/1139px、min-width 480/640/768/1024px
- 以 span[mask] 由 JS 產生 SVG 區塊分隔（弧形 / 斜切 / 波浪）
- SEO head：Open Graph、Twitter card、canonical、JSON-LD WebPage schema
- 毛玻璃主視覺：header/_002.scss 使用 rgba(255,255,255,0.75)＋backdrop-filter: blur(5px)
- header/_002.scss 使用多行截斷（-webkit-line-clamp: 3）

## 外部資源

- https://pardn.io/image/head.png (favicon)
- https://pardn.io/web-template/image/20230313.jpg (og:image / twitter:image)
- https://pardn.io/web-template/target/20230313 (canonical / og:url)
- https://fakeimg.pl/1024/282828/eae0d0/?text=sample (placeholder images)

## 相關頁面

- [專案結構](/zh/project-structure)
- [樣式工作流程](/zh/styling-workflow)
- [框架使用](/zh/frameworks)
