蒐集各種自由工作難題的系統思考思維模型,經驗萃取成即戰力的企劃、具體錦囊與實用攻略
【二百日轉職前端工程師】第002天:基礎知識
【二百日轉職前端工程師】第002天:基礎知識

【二百日轉職前端工程師】第002天:基礎知識

基礎知識

React, Angular, Vue跟HTML, CSS 和 JavaScript 的關係是什麼?

假設我們想建造一座房子:

  • HTML 就像是你的房子的藍圖或結構,它告訴我們房子有多少個房間,廚房和浴室在哪裡。
  • CSS 就像是你的房子的油漆和裝飾品,它決定了房子的顏色,窗簾是什麼樣的,地板是木頭的還是瓷磚的。
  • JavaScript 就像是房子裡的各種電器和設備,比如電梯、電視、冰箱等。它們使房子有了更多的功能和便利性。

然後,React、Angular 和 Vue 就像是一個強大的工具箱,裡面有各種工具和模板,可以幫助你更有效率地建造房子,而且還能讓房子有更多的功能和特色。你可以選擇其中一種工具箱,根據你的需要和喜好來建造你的房子。

作業1:在畫面中間畫一個圓,裡面有 ”Hello World” 字樣

body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #f3f3f3; font-family: Arial, sans-serif; }

.circle { display: flex; justify-content: center; align-items: center; width: 200px; height: 200px; border-radius: 50%; background-color: #4caf50; color: white; font-size: 20px; text-align: center; }

讓我們一行一行地解釋這段 CSS 程式碼:

對於 body

  1. display: flex;:這像是一種讓物體浮在空中的魔法,讓裡面的東西(body 裡的所有東西)可以自由地移動並排列得更好。
  2. justify-content: center;align-items: center;:這兩條命令就像是告訴魔法,我們希望所有的東西都要在中心位置。
  3. height: 100vh;:設定了身體的高度,使其剛好和你的視窗(你的電腦螢幕)一樣高。
  4. margin: 0;:這是為了讓身體貼緊視窗,不留白邊。
  5. background-color: #f3f3f3;:這是身體的背景顏色,這裡是一種淺灰色。
  6. font-family: Arial, sans-serif;:這是我們設定的字體,如果你的電腦沒有 Arial,那就會用不帶襯線的字體(sans-serif)。

對於 .circle

  1. display: flex;justify-content: center;align-items: center;:這裡的魔法和上面的一樣,只是這次是對 .circle 裡的東西施法,讓它們在圓圈中間。
  2. width: 200px;height: 200px;:這兩行是設定圓圈的大小,讓它的寬和高都是 200 像素。
  3. border-radius: 50%;:這是使正方形變成圓形的魔法,50% 的圓角會創造出完美的圓形。
  4. background-color: #4caf50;:這是圓圈的顏色,這裡是一種綠色。
  5. color: white;:這是圓圈裡文字的顏色,這裡是白色。
  6. font-size: 20px;:這是文字的大小,設為 20 像素。
  7. text-align: center;:這使得文字在圓圈裡水平居中。

特別是 display: flex; 初學者很多會忘記加,你可以把 display: flex; 想象成是一種魔法,這種魔法可以讓一個箱子裡的東西變得好排列。

假設你有一個圓形的箱子(這就是 .circle),裡面有一個小玩具 “Hello World”。現在你想把這個小玩具放在箱子的正中央。

如果沒有 display: flex; 這個魔法,你可能需要手動去調整小玩具的位置,這可能會很困難,因為你需要精確地計算出應該把它放在哪裡才能剛好在中央。

但是如果你用了 display: flex; 這個魔法,事情就變得非常簡單。你只需要告訴箱子你想要小玩具在中央(這就是 justify-content: center;align-items: center; 的作用),然後箱子就會自動把小玩具放到正確的位置。

所以,display: flex; 就像是一種魔法,可以讓你輕鬆地控制箱子裡的東西要如何排列和放置。

為什麼要設定兩次?

明明設定circle就好了,為什麼連body都要?

我們以一個更簡單的方式來解釋這個問題。

你可以把我們的網頁想像成是一個大的房間,這個房間就是我們的 body。而 circle 則是房間裡的一個小圓桌。

在這個房間裡,我們想要將小圓桌放在房間的中心。這就是為什麼我們要對 body 使用 display: flex; 以及 justify-content: center;align-items: center;。這三行程式碼的作用就是告訴房間:「嘿,我想要你把小圓桌放在你的中心」。所以,現在小圓桌就在房間的中心了。

再來,我們在小圓桌上放了一個「Hello World」的標語。我們希望這個標語能夠在小圓桌的中心。所以,我們同樣對 .circle 使用了 display: flex; 以及 justify-content: center;align-items: center;。這三行程式碼的作用就是告訴小圓桌:「嘿,我想要你把這個標語放在你的中心」。所以,現在標語就在小圓桌的中心了。

心情上的調適

當我在輸入程式碼時,感覺有太多東西要做了根本不知道從何做起。我打文字很順卻不知道怎麼打程式碼才會順。

身為純文科生的我對學寫程式跟電腦溝通一直有興趣,可是台上老師怎麼教我都聽不懂,完全跟不上。但把AI當助教後,它用的比喻讓我瞬間秒懂,以前怎麼上實體/線上課程,讀教材、看講義我就是笨,怎麼聽都聽不懂,這麼多年過去AI這樣講我就懂了,有種豁然開朗的感覺,覺得對未來轉職似乎看到一絲曙光,雖然能不能成功不知道,至少卡了很多年我終於邁進了一小步,這一步對我來說非常不容易。