方格精選

【自學程式】如果網頁是一台小車車?淺談網頁三巨頭:HTML、CSS及JavaScript

更新於 發佈於 閱讀時間約 9 分鐘

許多初學網頁開發的朋友們,一開始都不太理解HTML、CSS、 JavaScript之間的差異性,導致初期規劃學習計畫時毫無頭緒。

會有這樣的困擾,主要在於不了解HTML、CSS、 JavaScript之間的關係,以及這三者在網頁運作時所扮演什麼角色,導致越學越阿雜的狀況。

今天就要跟大家聊聊,什麼是網頁三巨頭?以及初學網頁開發該注意些什麼:


如果網頁是一台小車車⋯⋯


你可以想像現在有一台粉紅色的車,這台車有很多的配件:車窗、引擎、座椅⋯⋯所有你看的到以及看不到的車零件。

賣車的業務會跟你說,這些車子零件組裝的方式及配備規格會影響到它的性能,但座椅、烤漆外觀相關的要素,可以隨意更改。

但身為飆仔的你怎麼可能什麼都不改只改座椅?所以你可會接著改排氣管、改車輪匡,爆改一通後,性能可能變好,可能變差。

而你買了這台車後,開上路後你可以選擇要開去哪,可以開去旅遊、上班,當然也可以停在那邊都不動。

聽到這裡,是不是覺得這台小車車是不是跟什麼東西很像?

沒有錯!其實網頁的運作原理就跟一台車運作的原理很相似:網頁會有他的零件架構,就好比車會有引擎、零件;同樣地,就跟你可以改變車子的烤漆顏色、選擇車尾燈要不要像七彩霓虹燈一樣,我們可以隨意改變網頁的外觀、顏色。


HTML、CSS、 JavaScript


一個成功的網頁,主要由HTML、CSS、 JavaScript三種程式語言所構成。

你可以藉由使用HTML來控制網頁要有幾個欄位,藉由CSS來決定字要多大、什麼顏色,透過JavaScript控制網頁會在你點擊「購買」時,跳出結帳頁面。

我在初學網頁開發時,總會有非常多疑問,像是:「為什麼不能用一種語言解決所有網頁的事?要三個語言來處理?」

又或者是,HTML明明也可以控制「網頁外觀」這件事,我們會什麼不這樣做?

試想看看,如果網頁開發就好比產製一台車,你會把所有的工作都交給一個公司嗎?還是會透過分工合作,分別將任務指派給專精零件、烤漆、電路系統的廠商呢?

我們都在公民課上學過,將工作任務依照比較利益分配給適合的人,最後得出的效益會更高。

網頁的建構開發也是如此,網頁三巨頭,正是構成網頁的主要要素:

HTML專門負責網頁的架構、CSS 負責網頁的外觀,JavaScript則是控制網頁的行為。

透過HTML控制網頁架構、CSS負責外觀,而JavaScript負責網頁行為的方式,程式碼才能有效率的分工、溝通,有效做出一個「效能好」的網站,而效能好的網站才會帶來流量。


網頁的零件結構:HTML



先前提到,HTML就好比是網頁的零件,組裝的好不好,用的零件恰不恰當,會嚴重影響到網頁的SEO(影響到網站被搜尋到的機率)、使用者的瀏覽方便度

HTML(Hypertext Markup Language)是一種專門用來管理網頁內容的標注語言,透過HTML所建立出來的檔案,會建立出以.html結尾的文件格式,需要透過網頁瀏覽器才可以把它打開。

我們可以透過操作HTML標籤(HTML Tag),來幫網頁新增元素(element),像是新增圖片、段落標題等。

常見的網頁標籤像是:建立標題以h開頭的標籤,依照標題的大小從<h1>排列至<h6>,或是用來建立文字段落的<p>標籤。

另外值得一提的是,我們常見一頁式網站、單欄、雙欄、三欄的網頁樣式,也都需要透過HTML的區塊(<div>)元素,來做切割與排版,這就好比是幫一台車建立出基本的「型」,要有好的基礎才能跑得快、讓使用者喜歡。

標籤的使用範例如上,我使用了<h1>標籤建立出一段標題,也使用了<p>標籤建立出一個字型較小的段落。

通常這些建立文字的標籤會有一個opening tag(起始標籤)及closing tag(結尾標籤),而我們要呈現文字的就會被包裹在標籤中間。


雖然<h1>與<p>標籤都是屬於建立文字的標籤,但是預設字體、大小,以及對瀏覽器的功能不同,HTML裡其他的標籤也是用此方式建立出網頁的架構。

那重點來了,如果我不想要標題那麼大怎麼辦?想要改顏色怎麼辦?


外觀交給我:CSS


CSS是專門用來更改HTML檔案樣式的文件格式,可以藉由CSS選擇器(CSS selector)來選擇你要更改的HTML元素,並在該元素裡加上你想要的樣式。

CSS選擇器使用的方式,是在你想要選擇的HTML標籤,去掉外面的<>後,會變成我們所謂的CSS選擇器,之後加上兩個大括號(curly braces),並在大括號的中間加上CSS屬性(Attribute),並賦予該屬性值(value),就能用來操控網頁呈現的樣式。

像是:h1 { color:red;}。

通常一開始學程式時,上面那一段文字一定非常不好懂,但簡單用車子案例來說就是:車頂{烤漆: 紅色}。

這又是什麼意思呢?

如果網頁是一台小車車,我們可以選擇想改變的區塊,今天我想要車頂跟其他地方的烤漆顏色長得不一樣,所以我跟老闆說:「老闆我的『車頂{烤漆: 紅色}。」老闆就會幫你車頂的烤漆換成紅色。

也會有人說:「我難道不行只跟老闆說,我要『車頂紅色』嗎?」

在這裡要跟大家說明一下:

電腦就跟車行老闆一樣,你不講清楚,他們會聽不懂!搞不好你這樣說,老闆還以為你的車頂的透天窗玻璃弄成紅色的。

所以這個時候我們就需要一套標準化的溝通方式,讓我們與各家車行老闆的認知對齊(對齊開發者與各家瀏覽器的認知),這就是CSS selector。

回到剛剛的案例,我們有兩個文字段落,而一開始的大標題顏色是黑色的,我們覺得不太顯眼,想要把它改成紅色的,這樣怎麼做呢?



我們在h1選擇器後面加上{ },並在其中加入「color:red; 」,把標題預設的字體顏色改成紅色的,如果要更改其他元素的樣式,也需要用同樣的方式去做更改。

在這裡補充:網頁的程式語法使用規範,是由W3C這個機構制定的,為的就是所有開發者可以用同一套「標準化」的溝通方式與瀏覽器交流,才不會有早期網頁開法語法使用都不一致,導致同一套語法可能不能適用大部分瀏覽器的狀況出現。


網頁的大腦:JavaScript


如果說有一台漂亮到不行的小車車,但它卻發不動,也不能開上路,這像話嗎?

JavaScript是專門為網頁開發而生的程式語言,與HTML跟CSS功能完全不同,如果說HTML是車子的零件架構,CSS是掌管車子的外觀,那JavaScript就是掌管車子往哪開的大腦了。

在剛開始初學網頁開發時,我曾經詢問使用Java開發Android的朋友J:「JavaScript跟Java是親戚嗎?」

朋友J大傻眼說:「Java跟JavaScript的差異就好像car跟carpet一樣。」

當年Java這個程式語言誕生時,紅極一時,於是JavaScript的名字改了又改,最後名字竟然還跟Java長得像兄弟。

但實際上這兩者的關係,就好像car跟carpet這兩個單字一樣,雖然長得很像,但做的事跟意思完全不一樣。

雖然這兩者是完全不一樣的東西,但在JavaScript發展的過程中,借鑒了不少類似C語言的(像是Java)的語法,學習起來倒是有幾分相似。

那麼JavaScript是如何操作網頁這台小車車呢?

相較於HTML及CSS,JavaScript才真正涉及到運算、邏輯判斷,我們會透過DOM(文件物件模型)去選取網頁元素,並進行邏輯判斷,決定網頁的呈現方式。

舉例來說,我希望使用者可以點擊網頁上的按鈕,而不是其他地方,我就可以設置一套邏輯,當點擊到錯誤地方時,就跳出警示訊息。

然而我們要如何知道點錯地方呢?這時候就必須要對HTML元素有很深的了解,才有辦法透過JavaScript開這部網頁小車車。

之後的章節,我們會來解析更多有關HTML元素、標籤的應用!關於網頁技術的問題,歡迎你下方留言跟我討論與交流:)

我是Vivian,我們下次見。


關於我:

2019年從英文系畢業,2021下定決心開啟轉職工程師的新生活,相信不斷學習會有成長的一天。

|Instagram: Vivian Yeh|vivian_enlife

|聯絡我:vivian.enlife@gmail.com

留言
avatar-img
留言分享你的想法!
avatar-img
Vivian Yeh - 跨領域轉職的軟體工程師
447會員
103內容數
為了追求可以窩在座位上、可以心無旁騖思考問題、座位可以亂七八糟沒關係、不需要到處哈腰點頭跑客戶,不用腳踩十公分、連妝都可以不用化的職場人生,文組少女毅然決然踏上RD的養成日常。
2021/07/03
初學程式的時候,可能會有幾個問題讓你的開發速度低落,腦袋動得很快,但是手卻跟不上想法。 舉例來說: 瀏覽器的DevTool一直報錯,畫面的邏輯出錯,或是畫面根本出不來,但你卻不知道問題出在哪。
Thumbnail
2021/07/03
初學程式的時候,可能會有幾個問題讓你的開發速度低落,腦袋動得很快,但是手卻跟不上想法。 舉例來說: 瀏覽器的DevTool一直報錯,畫面的邏輯出錯,或是畫面根本出不來,但你卻不知道問題出在哪。
Thumbnail
2021/06/19
一開始接觸網頁開發的時候,可能會常常在切版時遇到一些奇奇怪怪的問題:版面總是無法貼齊,左右參差不齊;圖片或是版型變形,但都找不到問題,又或者是技術跟不上設計稿,怎麼切怎麼亂。 會有這樣的狀況主要是⋯⋯
Thumbnail
2021/06/19
一開始接觸網頁開發的時候,可能會常常在切版時遇到一些奇奇怪怪的問題:版面總是無法貼齊,左右參差不齊;圖片或是版型變形,但都找不到問題,又或者是技術跟不上設計稿,怎麼切怎麼亂。 會有這樣的狀況主要是⋯⋯
Thumbnail
2021/06/15
在HTML程式語言中,有一種能讓HTML元素與其他程式語言(CSS、JavaScript)運作的更加順利的語法,它叫做「HTML屬性(HTML Attribute)」。 那HTML屬性是怎麼運作的呢?
Thumbnail
2021/06/15
在HTML程式語言中,有一種能讓HTML元素與其他程式語言(CSS、JavaScript)運作的更加順利的語法,它叫做「HTML屬性(HTML Attribute)」。 那HTML屬性是怎麼運作的呢?
Thumbnail
看更多
你可能也想看
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
沙龍一直是創作與交流的重要空間,這次 vocus 全面改版了沙龍介面,就是為了讓好內容被好好看見! 你可以自由編排你的沙龍首頁版位,新版手機介面也讓每位訪客都能更快找到感興趣的內容、成為你的支持者。 改版完成後可以在社群媒體分享新版面,並標記 @vocus.official⁠ ♥️ ⁠
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
想要自學 HTML 嗎?HTML 是一個相對簡單的標記語言,適合初學者。透過免費資源和互動平臺,你可以輕鬆地學習 HTML,並逐步提高技能。除了 HTML,你還可以瞭解免費網頁設計軟體,如 VS Code 和 Sublime Text。加油吧!
Thumbnail
想要自學 HTML 嗎?HTML 是一個相對簡單的標記語言,適合初學者。透過免費資源和互動平臺,你可以輕鬆地學習 HTML,並逐步提高技能。除了 HTML,你還可以瞭解免費網頁設計軟體,如 VS Code 和 Sublime Text。加油吧!
Thumbnail
在當今數位化時代,網頁設計已成為商業和個人表達的重要途徑。無論是企業建立品牌形象,還是個人展示創意作品,一個具有吸引力且功能全面的網站都是不可或缺的。網頁設計不僅涉及美學布局,更包含了使用者體驗(UX)、使用者介面(UI)和技術實現等多方面的考量。隨著技術的進步和網頁設計理念的不斷演進,網頁設計已經
Thumbnail
在當今數位化時代,網頁設計已成為商業和個人表達的重要途徑。無論是企業建立品牌形象,還是個人展示創意作品,一個具有吸引力且功能全面的網站都是不可或缺的。網頁設計不僅涉及美學布局,更包含了使用者體驗(UX)、使用者介面(UI)和技術實現等多方面的考量。隨著技術的進步和網頁設計理念的不斷演進,網頁設計已經
Thumbnail
新增文章跟頁面是最基本的功能,因為網站要吸引人,就要有好的內容和好的SEO,當你開始使用WordPress建立網站時,了解如何區分文章和頁面是非常重要的!這兩個在網站架構和內容管理中有不同的用途,新手小白很容易誤會
Thumbnail
新增文章跟頁面是最基本的功能,因為網站要吸引人,就要有好的內容和好的SEO,當你開始使用WordPress建立網站時,了解如何區分文章和頁面是非常重要的!這兩個在網站架構和內容管理中有不同的用途,新手小白很容易誤會
Thumbnail
本篇為隨筆紀錄,將看完的影片疏理為短小筆記 。 特別有感的是,現在回頭看,發現影片中每個提及的知識點或是誤區自己都踩過好幾輪了,這是在學習及練習中很常會反覆發生、需要注意的地方,提醒自己在接下來的練習中,能將老師提及的思維及作法吸取並應用。
Thumbnail
本篇為隨筆紀錄,將看完的影片疏理為短小筆記 。 特別有感的是,現在回頭看,發現影片中每個提及的知識點或是誤區自己都踩過好幾輪了,這是在學習及練習中很常會反覆發生、需要注意的地方,提醒自己在接下來的練習中,能將老師提及的思維及作法吸取並應用。
Thumbnail
許多初學網頁開發的朋友們,一開始都不太理解HTML、CSS、 JavaScript之間的差異性,導致初期規劃學習計畫時毫無頭緒。 會有這樣的困擾,主要在於不了解HTML、CSS、 JavaScript之間的關係,以及這三者在網頁運作時所扮演什麼角色,導致越學越阿雜的狀況。
Thumbnail
許多初學網頁開發的朋友們,一開始都不太理解HTML、CSS、 JavaScript之間的差異性,導致初期規劃學習計畫時毫無頭緒。 會有這樣的困擾,主要在於不了解HTML、CSS、 JavaScript之間的關係,以及這三者在網頁運作時所扮演什麼角色,導致越學越阿雜的狀況。
Thumbnail
Semantic HTML,直譯就是「語意化的 HTML」(也有人稱做: semantically-correct HTML , 語意正確的 HTML ) 指的是我們使用 HTML 建立架構的 Tag Name 是要有意義的,並適當的應用在其中
Thumbnail
Semantic HTML,直譯就是「語意化的 HTML」(也有人稱做: semantically-correct HTML , 語意正確的 HTML ) 指的是我們使用 HTML 建立架構的 Tag Name 是要有意義的,並適當的應用在其中
Thumbnail
當我們初步對搜尋引擎的運作模式有了概念之後,就進入到真正 SEO 實際操作的環節了。很多 SEO 網站都會把最佳化實踐放在SEO 技術,而並沒有花太多時間關注到網站本身的架構。 而從我個人的理念來說,我們應該要先搞懂架構,所以這一期,讓我們來說網站架構吧。
Thumbnail
當我們初步對搜尋引擎的運作模式有了概念之後,就進入到真正 SEO 實際操作的環節了。很多 SEO 網站都會把最佳化實踐放在SEO 技術,而並沒有花太多時間關注到網站本身的架構。 而從我個人的理念來說,我們應該要先搞懂架構,所以這一期,讓我們來說網站架構吧。
Thumbnail
為了增進使用者體驗,前端愈來愈複雜,現在就讓我們一起搞懂技術名詞。
Thumbnail
為了增進使用者體驗,前端愈來愈複雜,現在就讓我們一起搞懂技術名詞。
Thumbnail
說真的,你花了那麼多時間設計網頁,卻沒被搜尋引擎收錄,不是很可惜嗎? 所以接下來,我們就要告訴你,有關於「Technical SEO」的語法重點,讓你的網頁也能快速又有效率的被搜尋引擎收錄進去。
Thumbnail
說真的,你花了那麼多時間設計網頁,卻沒被搜尋引擎收錄,不是很可惜嗎? 所以接下來,我們就要告訴你,有關於「Technical SEO」的語法重點,讓你的網頁也能快速又有效率的被搜尋引擎收錄進去。
Thumbnail
良好的網頁設計有助於提升SEO,可以提供可互良好的品牌體驗,並且可以讓搜尋引擎有有效的抓取網頁內容,進而提升網站排名。
Thumbnail
良好的網頁設計有助於提升SEO,可以提供可互良好的品牌體驗,並且可以讓搜尋引擎有有效的抓取網頁內容,進而提升網站排名。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News