基礎版型 230310
綠色主機服務形象頁:漸層主視覺含聯絡表單、VPS 方案價目、背景圖特色網格與行動呼籲。
概要
| 項目 | 內容 |
|---|---|
| 製作日期 | 2023-03-10 |
| 分類 | 商業網站範例 |
| HTML 檔案 | index.html |
| 原始碼 | target/20230310 |
即時預覽
頁面區塊
| 區塊 | 說明 |
|---|---|
| 頂部導覽列 | 固定頂部導覽 #nav-002:PARDNCHIU logo、ITEM 按鈕、GitHub 連結、漢堡按鈕 |
| 表單主視覺(header=3) | 漸層背景,示範表單(姓名欄、文字欄、單選)與開啟 GitHub repo 的按鈕,旁為 h1 |
| 方案價目(num=3) | 左斜分隔、「租用VPS / 網站代管」標題、三欄陰影方案卡,規格項目以勾選/未勾圖示呈現 |
| 特色網格(num=7) | 背景圖區塊、白色 h2 與兩欄靠左項目 |
| 行動呼籲(num=8) | 左斜分隔、標題與按鈕 |
| 頁尾(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 分隔曲線(>1024px 時 64/128px)
- js/index.js 包在 DOMContentLoaded 內,依賴 PDRenderKit 原型擴充($all、$attr、_style、$style、$parent、class、class)
- 主視覺表單按鈕呼叫 window.open(GitHub repo);表單無送出處理(標註純範例)
相依資源
| 名稱 | 版本 | 來源 |
|---|---|---|
| Font Awesome Free | 6.5.2 | https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.2/css/all.min.css |
| PDRenderKit | 1.5.2 | https://cdn.jsdelivr.net/npm/pdrenderkit@1.5.2/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。
cd target/20230310
npx sass sass/index.scss css/index.css --no-source-map || exit 1
使用技巧
- inline <style> :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
- 方案清單以 li.checked 切換勾選圖示(far fa-check-circle / fa-circle)
外部資源
- https://pardn.io/image/head.png (favicon)
- https://pardn.io/web-template/image/20230310.jpg (og:image / twitter:image)
- https://pardn.io/web-template/target/20230310 (canonical / og:url)
- https://fakeimg.pl/1024/282828/eae0d0/?text=sample (placeholder images)