商用網站架設實務

LESSON-01 · 零基礎學生教材

開發環境設置

建立自己的 commercial-site 資料夾,修改商家名稱、titleh1 與品牌介紹,完成 .page-shell 的 padding/border,並留下 JavaScript 載入訊息與按鈕操作結果。

先理解:這堂課解決什麼問題?

服務型商家的網站剛開始製作,今天只建立一個可以預覽與除錯的三檔案小專案;圖片素材先不加入,避免把尚未教的路徑問題混在一起。

本堂要完成:建立自己的 commercial-site 資料夾,修改商家名稱、titleh1 與品牌介紹,完成 .page-shell 的 padding/border,並留下 JavaScript 載入訊息與按鈕操作結果。

學習邊界:先完成「建立可預覽、可除錯的前端檔案結構」,不提前引入尚未教過的框架或建置工具。

第一次上課環境:先準備四樣東西

  1. 編輯器:用來建立與修改純文字檔案;本堂請能看到檔案名稱與資料夾位置。
  2. 資料夾:建立 commercial-site/,裡面只放 index.htmlcss/style.cssjs/main.js
  3. 瀏覽器:用來開啟 HTML、顯示畫面並執行 JavaScript;儲存檔案後回到瀏覽器重新整理。
  4. DevTools:在頁面按右鍵選「檢查」,本堂只先使用 Elements、Console、Network;不需要額外安裝工具。

素材選修預告:assets/ 本堂只介紹概念,不建立也不引用本地素材;等真的有圖片任務時,再一起建立可攜的素材路徑。

先做最小實驗:先看見結果

這不是期末網站,而是一個可以直接看到本堂核心結果的最小實驗。先完成一次操作,再回到檔案和名詞卡對照。

開啟本堂最小實驗

  1. 入口:開啟 examples/minimal/index.html
  2. 操作:開啟 examples/minimal/index.html,先看畫面,再打開 Console 並重新整理。
  3. 預期:標題與品牌介紹出現在畫面,Console 出現本堂訊息,Network 可分別找到 css/style.cssjs/main.js
  4. 重設:重新整理 examples/minimal/index.html;不要修改這份示範頁。

學生練習流程

依序完成每一張卡;目前只聚焦一個步驟,先操作,再用可觀察證據確認結果。

  1. 1

    最小實驗

    先開啟最小實驗,重新整理一次,說出畫面、Console 與 Network 各自看見什麼。
  2. 2

    名詞

    回到檔案地圖,只讀與剛才結果有關的名詞卡,再自己回答互動問答 4 題。
  3. 3

    Starter

    把 Starter 複製到自己的工作資料夾,照 3 張微步驟卡逐一完成;每一步都要看到結果再繼續。
  4. 4

    Checkpoint

    前往 Checkpoint,只處理 1 個真正的 js/missing.js 404;先預測,再用 Network 證據修回 js/main.js
  5. 5

    Solution

    前往 Solution,先看逐檔差異與修改原因,再決定要不要把完整內容帶回自己的檔案。
  6. 6

    變體驗收

    完成情境變體與獨立挑戰,留下檔案位置、操作、結果與驗收證據,並閱讀下一堂銜接:HTML 語意骨架:下一堂會把可預覽的入口頁整理成可讀的內容結構。

檔案地圖:每個位置負責什麼?

先不要急著背檔名;請把檔案位置和責任連起來。你在階段頁會看到同一份檔案的可執行版本。

先學會這些詞

先從名詞、英文與白話意思開始;每次只展開一張名詞卡,再對照正式定義、範例與驗收證據。專業術語語法檔案路徑會使用不同樣式。第一次遇到術語時,先回到這裡,不要靠猜。

本堂 28 個詞先選一組,再展開需要的名詞卡;每次只保留目前的學習焦點。

文件與檔案

13 個詞
HTMLHyperText Markup Language 白話意思:描述頁面內容與結構的檔案語言。 展開查看正式定義、範例與驗收證據
正式定義
以元素與屬性描述文件結構,讓瀏覽器建立頁面內容。
什麼時候用
要建立標題、段落、按鈕或資源引用時。
最小範例
<h1>我的商家</h1> 在 HTML 中表示頁面主標題。
可觀察證據
Elements 面板能看到 HTML 形成的文件樹。
容易混淆
CSS 混淆;HTML 說明有什麼內容,CSS 說明內容長什麼樣子。
CSSCascading Style Sheets 白話意思:控制頁面外觀與版面的檔案語言。 展開查看正式定義、範例與驗收證據
正式定義
以規則選取 HTML 元素並設定呈現樣式的語言。
什麼時候用
要調整顏色、間距、邊框或寬度時。
最小範例
.page-shell { padding: 2rem; } 讓容器裡面有留白。
可觀察證據
StylesComputed 能看到規則是否命中與最後值。
容易混淆
JavaScript 混淆;CSS 改外觀,JavaScript 改行為。
JavaScriptJavaScript 白話意思:讓網頁能回應操作並留下程式訊息的語言。 展開查看正式定義、範例與驗收證據
正式定義
瀏覽器中執行、可讀取與修改 DOM、處理事件的程式語言。
什麼時候用
要讓按鈕有反應、更新狀態或寫入 Console 時。
最小範例
console.log("已載入") 會在 Console 印出訊息。
可觀察證據
Console 訊息、畫面狀態與 Network 的 JS 請求。
容易混淆
HTMLCSS 混淆;JavaScript 不負責取代整份 HTMLCSS
入口檔案entry file 白話意思:瀏覽器先從它開始讀網站。 展開查看正式定義、範例與驗收證據
正式定義
瀏覽器直接開啟、再引用其他資源的 HTML 文件。
什麼時候用
不知道應該先開哪個檔案時。
最小範例
index.html 先放首頁內容,再用 linkscript 找到 CSS 和 JavaScript。
可觀察證據
網址列、Elements 樹與 Network 的第一個 HTML 請求。
容易混淆
CSSJavaScript 檔案混淆;它們通常不能單獨代表一個頁面。
相對路徑relative path 白話意思:從目前檔案所在位置計算另一個檔案在哪裡。 展開查看正式定義、範例與驗收證據
正式定義
以目前文件目錄為基準解析資源或連結位置的 URL 表示法。
什麼時候用
HTML 要載入 CSSJavaScript、圖片或下一頁時。
最小範例
css/style.css 表示從 index.html 所在資料夾進入 css
可觀察證據
Network 顯示請求的完整 URL,或直接開啟資源網址。
容易混淆
和絕對網址混淆;/css/style.css 的基準不是目前檔案資料夾。
headHTML head 白話意思:放頁面設定與資源引用的區域,通常不直接顯示在畫面。 展開查看正式定義、範例與驗收證據
正式定義
HTML 文件中承載 title、meta 與 link 等文件中繼資料的區塊。
什麼時候用
要設定分頁名稱或告訴瀏覽器載入 CSS 時。
最小範例
<head><title>首頁</title><link rel="stylesheet" href="css/style.css"></head>
可觀察證據
分頁 title 改變,Network 出現 CSS 請求。
容易混淆
body 混淆;head 放設定,body 放訪客看見與操作的內容。
bodyHTML body 白話意思:放頁面上看得到、用得到的內容。 展開查看正式定義、範例與驗收證據
正式定義
HTML 文件中承載主要可見內容與互動元素的區塊。
什麼時候用
要放 h1、品牌介紹、按鈕與 status 時。
最小範例
<body><h1>我的商家</h1><button>開始</button></body>
可觀察證據
畫面與 Elementsbody 內容。
容易混淆
head 混淆;body 不是只放文字,也包含頁面操作元素。
linklink element 白話意思:HTML 內接上外部 CSS 檔案的標籤。 展開查看正式定義、範例與驗收證據
正式定義
描述目前文件與外部資源關係的 HTML 元素;本堂用於 stylesheet。
什麼時候用
CSS 不想寫在 HTML 裡,而要放在 css/style.css 時。
最小範例
<link rel="stylesheet" href="css/style.css">
可觀察證據
NetworkCSS 請求,Styles 命中 .page-shell
容易混淆
和 a 連結混淆;link 載入資源,a 是讓訪客前往另一個網址。
scriptscript element 白話意思:HTML 中載入或執行 JavaScript 的標籤。 展開查看正式定義、範例與驗收證據
正式定義
將腳本資源或腳本內容嵌入文件的 HTML 元素。
什麼時候用
要讓頁面載入 js/main.js 時。
最小範例
<script src="js/main.js"></script>
可觀察證據
Network 有 JS 請求,Console 出現載入訊息。
容易混淆
和 style 混淆;script 載入行為,link 通常載入 CSS
srcsource attribute 白話意思:告訴 script 要去哪裡找 JavaScript 檔案。 展開查看正式定義、範例與驗收證據
正式定義
指定外部腳本資源 URL 的 HTML 屬性。
什麼時候用
要從 js/ 資料夾載入外部 JavaScript 時。
最小範例
src="js/main.js" 以目前 HTML 位置為基準找檔案。
可觀察證據
Network 的 Request URL 與檔案樹一致。
容易混淆
和 href 混淆;本堂 link 使用 href,script 使用 src
titletitle element 白話意思:顯示在瀏覽器分頁上的頁面名稱。 展開查看正式定義、範例與驗收證據
正式定義
HTML head 中描述文件標題的元素。
什麼時候用
要讓訪客與搜尋結果知道這一頁是什麼時。
最小範例
<title>安心到府服務|首頁</title>
可觀察證據
瀏覽器分頁文字改變。
容易混淆
h1 混淆;title 在分頁,h1 在頁面內容。
h1level-one heading 白話意思:頁面內容的主要標題。 展開查看正式定義、範例與驗收證據
正式定義
表示目前文件最主要主題的 HTML 標題元素。
什麼時候用
要讓訪客一眼知道這頁在介紹什麼時。
最小範例
<h1>讓日常維護變得簡單</h1>
可觀察證據
畫面上看到 h1Elements 可檢查它的文字。
容易混淆
title 混淆;h1 在畫面,title 在分頁。
檔案責任file responsibility 白話意思:每個檔案只處理自己擅長的一類工作。 展開查看正式定義、範例與驗收證據
正式定義
以結構、呈現、行為與素材的責任邊界組織前端專案。
什麼時候用
專案從一頁變成多頁,或開始需要除錯與共用時。
最小範例
HTML 放標題、CSS 放顏色、JS 放按鈕行為、assets 放圖片。
可觀察證據
檔案樹與修改某個檔案後只有對應層次改變。
容易混淆
和把檔案拆得越多越好混淆;拆分要服務於可理解與可維護。

瀏覽器與載入

8 個詞
瀏覽器browser 白話意思:把檔案讀成可以看的網頁,並執行 JavaScript 展開查看正式定義、範例與驗收證據
正式定義
解析 HTMLCSSJavaScript 並產生使用者介面的用戶端軟體。
什麼時候用
要預覽結果、點擊操作或觀察載入時。
最小範例
Chrome 或 Firefox 開啟 index.html 後會建立 DOM 與畫面。
可觀察證據
頁面畫面、ElementsConsoleNetwork 四個面板。
容易混淆
編輯器混淆;編輯器修改檔案,瀏覽器呈現檔案結果。
編輯器code editor 白話意思:用來建立、修改與儲存純文字程式碼檔案的工具。 展開查看正式定義、範例與驗收證據
正式定義
提供檔案樹、文字編輯與儲存功能的程式碼編輯環境。
什麼時候用
要建立資料夾、修改 HTMLCSSJavaScript 時。
最小範例
在編輯器開啟 commercial-site/index.html,修改後按儲存。
可觀察證據
檔案名稱、資料夾位置與儲存後瀏覽器重新整理的結果。
容易混淆
瀏覽器混淆;編輯器改來源,瀏覽器顯示執行結果。
DevToolsDeveloper Tools 白話意思:瀏覽器裡用來查證與除錯的工具箱。 展開查看正式定義、範例與驗收證據
正式定義
提供 ElementsConsoleNetwork 等面板以檢查執行中頁面狀態的開發工具。
什麼時候用
畫面和預期不同,或需要證明哪個檔案出錯時。
最小範例
在頁面按右鍵選檢查,從 Network 重新整理確認 CSS 是否 200。
可觀察證據
ElementsDOMConsole 訊息、Network 的狀態碼。
容易混淆
編輯器的預覽畫面混淆;DevTools 看到的是瀏覽器實際結果。
資源載入resource loading 白話意思:HTML 找到並讀取 CSS、JS、圖片的過程。 展開查看正式定義、範例與驗收證據
正式定義
瀏覽器依文件中的 URL 發出請求並取得外部資源的流程。
什麼時候用
畫面缺樣式、功能或圖片時。
最小範例
<script src="js/main.js"> 讓瀏覽器請求 JavaScript。
可觀察證據
Network 中資源的 URL、狀態碼與 Response。
容易混淆
JavaScript 執行混淆;檔案載入成功不代表程式一定沒有錯。
ConsoleConsole 白話意思:可以看到 JavaScript 訊息與錯誤的地方。 展開查看正式定義、範例與驗收證據
正式定義
DevTools 中呈現腳本輸出、例外與警告的面板。
什麼時候用
需要知道程式跑到哪裡,或讀取錯誤原因時。
最小範例
console.log("首頁已載入") 會在 Console 留下訊息。
可觀察證據
重新整理後看到預期文字,或看到紅色錯誤與行號。
容易混淆
和頁面上顯示的文字混淆;Console 訊息不一定會出現在畫面。
NetworkNetwork panel 白話意思:查看瀏覽器向哪個網址要檔案,以及對方回了什麼狀態。 展開查看正式定義、範例與驗收證據
正式定義
DevTools 中呈現頁面資源請求、URL、狀態碼與回應的面板。
什麼時候用
要確認 CSSJavaScript 有沒有找到,或定位 404 時。
最小範例
重新整理後在 Network 搜尋 js/main.js,查看它的狀態碼。
可觀察證據
請求 URL、200 成功或 404 找不到,以及 Response。
容易混淆
Console 混淆;Network 查檔案請求,Console 查程式執行訊息。
404HTTP 404 Not Found 白話意思:瀏覽器要求的檔案位置不存在。 展開查看正式定義、範例與驗收證據
正式定義
伺服器或靜態檔案服務表示找不到指定資源的 HTTP 狀態碼。
什麼時候用
畫面缺樣式、JavaScript 沒反應或連結打不開時。
最小範例
js/missing.js 不存在時,Network 會出現 404。
可觀察證據
Network 的 URL、Status Code 404 與檔案樹的實際位置。
容易混淆
JavaScript 語法錯誤混淆;404 是先找不到檔案,尚未進入程式執行。
viewportviewport 白話意思:瀏覽器目前用來顯示頁面的可視範圍。 展開查看正式定義、範例與驗收證據
正式定義
使用者代理程式中呈現文件內容的視窗區域;本堂用 meta 設定窄版預覽基準。
什麼時候用
要在手機寬度檢查內容是否溢出或仍可操作時。
最小範例
<meta name="viewport" content="width=device-width, initial-scale=1">
可觀察證據
DevTools 裝置模式切換到窄版後,頁面沒有水平捲軸。
容易混淆
和整個瀏覽器視窗混淆;viewport 是頁面可見內容的範圍。

DOM 與互動

7 個詞
DOMDocument Object Model 白話意思:瀏覽器HTML 變成 JavaScript 可以找到與修改的樹。 展開查看正式定義、範例與驗收證據
正式定義
代表目前文件節點與階層的程式介面。
什麼時候用
要讀取或更新畫面上的 status、按鈕或標題時。
最小範例
document.querySelector("#status") 找到畫面上的狀態元素。
可觀察證據
Elements 面板的節點文字和 Console 修改後的畫面同步變化。
容易混淆
和原始 HTML 混淆;DOM瀏覽器執行後的目前狀態。
selectorselector 白話意思:告訴 CSSJavaScript 要找哪一個元素。 展開查看正式定義、範例與驗收證據
正式定義
CSS 規則或 DOM 查找語法中,用來匹配文件元素的模式。
什麼時候用
要替 .page-shell 加樣式,或找到 #status 更新文字時。
最小範例
.page-shell 找 class,#status 找 id;一次先用一個簡單 selector。
可觀察證據
Styles 顯示 CSS 命中,或 Console/畫面證明查找到了元素。
容易混淆
property 混淆;selector 決定對誰作用,property 決定 CSS 改什麼。
idid attribute 白話意思:給頁面中一個元素取的識別名稱。 展開查看正式定義、範例與驗收證據
正式定義
HTML 元素上的唯一識別屬性,可被連結、CSSJavaScript 定位。
什麼時候用
按鈕與狀態文字需要互相連接,或 JavaScript 要找到特定元素時。
最小範例
<p id="status">尚未操作</p>#status 對應。
可觀察證據
Elements 看到 id="status"JavaScript 執行後該元素文字更新。
容易混淆
和 class 混淆;id 通常識別單一元素,class 可套用在多個元素。
querySelectorquerySelector 白話意思:依照一個 selector 找到頁面中的第一個元素。 展開查看正式定義、範例與驗收證據
正式定義
DOM 提供、以 CSS selector 字串查找文件節點的 JavaScript 方法。
什麼時候用
要讓 JavaScript 找到 status 或 action 時。
最小範例
document.querySelector("#status") 找到 id 為 status 的元素。
可觀察證據
Console 不出現 null,且 status 文字會更新。
容易混淆
和 querySelectorAll 混淆;本堂先只找一個元素,不使用 selector list。
事件event 白話意思:使用者或瀏覽器發生的一件事。 展開查看正式定義、範例與驗收證據
正式定義
瀏覽器派送給事件目標、可被監聽與處理的互動通知。
什麼時候用
按鈕被點擊、頁面載入或表單送出時。
最小範例
按下 action 按鈕時觸發 click 事件。
可觀察證據
操作前後的 status 文字與 Console 訊息。
容易混淆
和函式混淆;事件是發生的時機,函式是發生後執行的步驟。
addEventListeneraddEventListener 白話意思:告訴瀏覽器某件事發生時要執行哪個函式。 展開查看正式定義、範例與驗收證據
正式定義
事件目標上註冊事件監聽器的 JavaScript 方法。
什麼時候用
要讓按鈕點擊後執行操作,而不把程式寫進 HTML 屬性時。
最小範例
action.addEventListener("click", showResult)
可觀察證據
點擊按鈕後畫面與 Console 出現操作結果。
容易混淆
和直接呼叫函式混淆;註冊監聽器是在等待事件,不是現在立刻執行。
textContenttextContent 白話意思:讀取或替換元素裡的純文字。 展開查看正式定義、範例與驗收證據
正式定義
DOM 元素提供、代表其文字內容的 JavaScript 屬性。
什麼時候用
要更新 status 或 h1 的文字,又不需要插入 HTML 標籤時。
最小範例
status.textContent = "按鈕操作已執行"
可觀察證據
畫面上的 status 文字改變,Elements 也看到新文字。
容易混淆
和 innerHTML 混淆;textContent 只處理文字,不解析 HTML

最小例子:先看懂,再複製

這段只保留本堂第一個微成果。先預測結果,再逐行讀;完整檔案請開啟下方最小實驗。

<!-- 01-development-environment:從入口頁開始 -->
<title>安心到府服務|首頁</title>
<h1>讓日常維護變得簡單</h1>
<link rel="stylesheet" href="css/style.css">
<script src="js/main.js"></script>

Live Lab:逐段讀碼與驗證

每一步只回答五件事:為什麼做、改哪裡、會看到什麼、用什麼證據確認、卡住先查什麼。

  1. Step 1

    建立檔案邊界

    目的
    先讓學生在 Explorer 建立只包含三個責任的 commercial-site。
    修改位置
    commercial-site/index.htmlcss/style.cssjs/main.js
    建立入口、樣式與行為三個檔案,不新增框架或套件
    預期結果
    檔案樹可對照,入口頁仍能開啟。 本堂焦點是「建立可預覽、可除錯的前端檔案結構」。
    驗收證據
    檔案樹與入口檔案位置
    卡住先查
    只檢查一件事:commercial-site/index.htmlcss/style.cssjs/main.js 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。
  2. Step 2

    修改頁面身份

    目的
    先讓學生知道 title、品牌名稱、h1 與品牌介紹各自出現在什麼位置。
    修改位置
    index.html
    修改 title、品牌名稱、h1 與一段品牌介紹
    預期結果
    分頁、品牌、h1 與介紹文字都變成自己的商家內容。 本堂焦點是「建立可預覽、可除錯的前端檔案結構」。
    驗收證據
    分頁、畫面與 Elements
    卡住先查
    只檢查一件事:index.html 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。
  3. Step 3

    完成容器樣式

    目的
    把呈現責任留在 CSS,讓 .page-shell 的變化可被觀察。
    修改位置
    css/style.css
    .page-shell 加入 padding 與 border
    預期結果
    白色內容盒出現留白與邊框。 本堂焦點是「建立可預覽、可除錯的前端檔案結構」。
    驗收證據
    NetworkStylesComputed
    卡住先查
    只檢查一件事:css/style.css 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。
  4. Step 4

    留下 JavaScript 證據

    目的
    用簡單 id 找到 status 與 action,留下載入和按鈕操作結果。
    修改位置
    js/main.jsindex.html
    加入載入訊息,按鈕後更新 status 並寫入 Console
    預期結果
    重新整理有載入訊息,按鈕後畫面與 Console 都有結果。 本堂焦點是「建立可預覽、可除錯的前端檔案結構」。
    驗收證據
    ConsoleNetwork 與 status
    卡住先查
    只檢查一件事:js/main.jsindex.html 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。
  5. Step 5

    重現一個 404

    目的
    示範用證據而不是猜測處理路徑錯誤。
    修改位置
    index.htmlscript src
    暫時改成不存在的 js/missing.js,再改回 js/main.js
    預期結果
    錯誤狀態與修正狀態可對照。 本堂焦點是「建立可預覽、可除錯的前端檔案結構」。
    驗收證據
    404 狀態碼與檔案樹
    卡住先查
    只檢查一件事:index.htmlscript src 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。
  6. Step 6

    整理可交付證據

    目的
    把畫面、ConsoleNetwork 與檔案位置整理成驗收包。
    修改位置
    commercial-site/
    留下 titleh1ComputedConsoleNetwork 的可重現紀錄
    預期結果
    別人依檔案位置可以重現你的結果。 本堂焦點是「建立可預覽、可除錯的前端檔案結構」。
    驗收證據
    驗收紀錄與檔案樹
    卡住先查
    只檢查一件事:commercial-site/ 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。
操作層級Live Lab 段落導覽:切換六個實驗步驟

讀碼順序:先找入口,再找被引用的檔案,最後用畫面、DOMConsoleNetwork 或資料結果驗證。

互動問答

先回答目前這一題,再展開解析;完成後按下一題,讓每一次回答都回到檔案或瀏覽器完成驗證。

Q1概念理解 HTMLHyperText Markup Language)」在本堂要解決什麼問題? 本題線索:HTML;回到名詞卡與 Elements 面板能看到 HTML 形成的文件樹。 展開解析收合解析

白話解析:

描述頁面內容與結構的檔案語言。 正式來說,以元素與屬性描述文件結構,讓瀏覽器建立頁面內容。

對照位置:

回到名詞卡「HTML」,再看 Elements 面板能看到 HTML 形成的文件樹。

預期觀察:

你應該能用自己的話說出:要建立標題、段落、按鈕或資源引用時。

常見錯誤:

不要只回答「它是HTML」;那是重複名詞,不是說明責任。

立即驗證:

開啟 examples/minimal/index.html,依序做「開啟 examples/minimal/index.html,先看畫面,再打開 Console 並重新整理。」並記下畫面或工具證據。

Q2程式碼閱讀 修改指定規則後,你預測畫面會看到什麼? 本題線索:commercial-site/index.htmlcss/style.cssjs/main.js;要修改:建立入口、樣式與行為三個檔案,不新增框架或套件;觀察:檔案樹與入口檔案位置 展開解析收合解析

白話解析:

先看檔案責任,再預測結果。這一步的目的:先讓學生在 Explorer 建立只包含三個責任的 commercial-site。

對照位置:

對照 Live Lab Step 1,位置是 commercial-site/index.htmlcss/style.cssjs/main.js;範例內容:<!-- 01-development-environment:從入口頁開始 --> <title>安心到府服務|首頁</title> <h1>讓日常維護變得簡單</h1> <link rel="stylesheet" href="css/style.css"> <script src="js/main.js"></script>

預期觀察:

檔案樹可對照,入口頁仍能開啟。 本堂焦點是「建立可預覽、可除錯的前端檔案結構」。

常見錯誤:

如果只改了檔案但沒有結果,先不要重寫全部;只檢查一件事:commercial-site/index.htmlcss/style.cssjs/main.js 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。

立即驗證:

實際操作後檢查 檔案樹與入口檔案位置。

Q3概念比較 HTML」和「CSS」在本堂的責任有什麼不同? 本題線索:比較 HTMLCSS;操作位置:index.html 展開解析收合解析

白話解析:

HTML:描述頁面內容與結構的檔案語言。;CSS:控制頁面外觀與版面的檔案語言。

對照位置:

對照兩張名詞卡的正式定義:以元素與屬性描述文件結構,讓瀏覽器建立頁面內容。/以規則選取 HTML 元素並設定呈現樣式的語言。

預期觀察:

你應該能指出兩者分別出現在哪個檔案或工具,以及哪一個結果會改變。

常見錯誤:

不要把「改變畫面」當成所有技術的責任;先說清楚誰負責結構、呈現、行為或驗收。

立即驗證:

index.html 做「修改 title、品牌名稱、h1 與一段品牌介紹」,再用 分頁、畫面與 Elements 比較前後差異。

Q4除錯驗收 如果完成操作後結果不對,你會先從哪一個證據開始查? 本題線索:commercial-site/;第一個檢查位置:驗收紀錄與檔案樹 展開解析收合解析

白話解析:

先描述症狀,再提出一個最小假設。本堂常見錯誤是:只交一張沒有網址或檔案位置的截圖

對照位置:

對照最後一段 Live Lab:commercial-site/;檢查方式:只檢查一件事:commercial-site/ 是否存在、檔名是否完全一致,以及瀏覽器目前是否開啟這個入口。

預期觀察:

你要能指出一個具體位置,而不是一次修改很多檔案。

常見錯誤:

不要先清快取、重裝工具或複製 Solution;先查看第一個可觀察錯誤。

立即驗證:

重新操作並留下「症狀、證據、假設、單一修正、結果」五項紀錄。

除錯對照表:先看證據,再改一處

看到的症狀第一個證據先檢查什麼
畫面沒有樣式Network 的 CSS URL/狀態碼確認 css/style.css 存在,再看 Styles 是否命中 .page-shell
Console 沒有本堂訊息Network 的 JS URL/狀態碼確認 js/main.js 成功載入,再重新整理。
看到 404Network 顯示的完整 URL逐字比對 js/missing.js、檔名大小寫與目前 HTML 位置。
按鈕沒有結果Elements 的 id 與 Console確認 statusaction 都存在,再只查 JavaScript 的第一個錯誤。

常見誤解

本堂任務與驗收

建立自己的 commercial-site 資料夾,修改商家名稱、titleh1 與品牌介紹,完成 .page-shell 的 padding/border,並留下 JavaScript 載入訊息與按鈕操作結果。

官方延伸閱讀