###### tags: `學期 2-3` `week2`
[toc]
# CSS 切版挑戰賽 (public use)
## Before Webinar
### 【重要通知】CSS 切版挑戰賽 日期變更
學期 2-3 前端【Week 3 CSS 切版挑戰賽】原訂於 08/03 (三) **調整為 08/02 (二) 舉辦**
還請同學們記得空下時間參與唷!如當天無法即時參與,也會有會後影片供同學複習
**更改後時間**:<span style="color:#CE2D0F; font-weight: bold;">08/02 (二)</span> 19:30 - 21:00<br>
<a class="btn btn-normal" target="_blank" href="https://calendar.google.com/event?action=TEMPLATE&tmeid=b2IzbnMxcjIyYWZoa2lqN29idmhhMHNwbGMgczdpYmk3OHUxZ2NuYTRxOWhtbzc4cGxoMjhAZw&tmsrc=s7ibi78u1gcna4q9hmo78plh28%40group.calendar.google.com">將行程添加到 Google 日曆</a>
<div style="width:100%"><img style="max-width:1000px; width:100%;" src="https://assets-lighthouse.alphacamp.co/uploads/image/file/21381/banner.001.png"></div>
---
### 報名 Week 3 CSS 切版挑戰賽!
#### Week 3 CSS 切版挑戰賽資訊
<!-- 本班次並未舉辦線上 CSS 切版挑戰賽,因內容並不影響進度學習,同學有興趣可以先看會後精華,或是空下下次工作坊時間再上線學習即可喔!-->
<div style="background: #ececec; padding: 15px; margin-bottom: 10px; border-radius: 10px; font-weight: bold; width:fit-content;">
<p style="margin-block-start: 0em;">
• 活動時間:05/10 (三) 19:30 - 21:00<br>
• 與會連結:<a href="
https://zoom.us/j/83477351797" target="_blank">https://zoom.us/j/83477351797</a><br>
• 會議密碼:608837<br>
<span style="color:#CE2D0F; font-size: 0.95rem; font-weight: bold;">注意:請使用電腦開啟連結</span>
</p>
<a class="btn btn-normal" target="_blank" href="https://calendar.google.com/calendar/event?action=TEMPLATE&tmeid=Mm5ndWpxa3Y4ampxcjM1aWpjcDl1NGJkYmIgczdpYmk3OHUxZ2NuYTRxOWhtbzc4cGxoMjhAZw&tmsrc=s7ibi78u1gcna4q9hmo78plh28%40group.calendar.google.com">將行程添加到 Google 日曆</a>
</div>
<div style="line-height:16px;"></div>
#### 什麼是切版挑戰賽
在前端工程師的領域中,除了實際專案開發、怎麼跟後端串接,「網頁切版」也是一個重要的課題,因此 AC 特別設計了切版挑戰,希望讓同學有機會在「短時間內,實際挑戰思考 HTML 結構、實作特殊版型」來提昇你的切版力。
在本次切版挑戰工作坊裡,我們要挑戰這個版型:
<div style="width:100%; text-align: center;">
<img style="width:80%;" src="https://assets-lighthouse.alphacamp.co/uploads/image/file/16324/ezgif.com-gif-maker.gif"><br>
<span style="font-size:0.95rem; color:#a2a2a2;">這是一位房屋仲介的個人資訊頁,設計稿以 768 px 為斷點,提供水平、垂直兩種排列模式。</span>
</div>
#### 工作坊 Agenda
* 行前準備回饋 - HTML 結構設計
* 實戰演練 - 一步一步開始切吧!
* Q & A
#### 行前準備
- 第 1 級準備:實際跟著教案實作過 position, inline, block, inline-block, flex 的使用
- 第 2 級準備:參考 [Figma 設計圖](https://www.figma.com/file/e2P3u3m1pB6YABgcW8Xxzw/AC_CSS_challenge_202108),事先設計 HTML 結構,並提交至 [共筆區](https://docs.google.com/document/d/1O0L2UU0HjALT3HTB4RS_hM6xnSqYrn6wnXd-Gt_aIWE/edit?usp=sharing)
- 第 3 級準備:參考 [Figma 設計圖](https://www.figma.com/file/e2P3u3m1pB6YABgcW8Xxzw/AC_CSS_challenge_202108)、[內容素材](https://docs.google.com/document/d/1uCUYEqubhKhpHeRV3O4rKR0zVZOYZN7c_7-qghExaFg/edit#heading=h.wba57six3bsn) 實際動手切切看
為確保你的最大學習效果,請你以第 2 級準備為目標,不過最少要完第 1 級準備。
若在工作坊開始前你無法完成建議內容,仍然可以參與工作坊,因為我們相信藉此可以協助你在後續學習有幫助。
<a class=" btn btn-normal" role="button" data-toggle="collapse" aria-expanded="false" href="#moreToPrepare" aria-controls="moreToPrepare"> 【還有一些你可能會想先準備】</a>
<div class="collapse" id="moreToPrepare" style="background-color: #efefef; border-radius: 5px; padding: 5px 15px;">
<p style="margin-block-start: 0.5em;">
在解這道題的過程中,會遇到一些有趣的狀況,可能你之前不曾想過,可以先自行查詢解法。<br>
若行前來不及準備,同學也可以當場看助教示範,後續再安排時間攻略。這邊先幫你把小抄做起來:
<ol>
<li>遇到超長的多行文字,超出畫面時可以怎麼處理呢?
<ul>
<li>關鍵字:CSS 文字溢出</li>
<li><a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/-webkit-line-clamp" target="_blank">MDN -webkit-line-clamp、<a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/overflow" target="_blank">overflow</a>
</li>
</ul>
</li>
<li>如何善用 CSS 選擇器更精準地選到想改變的元素?
<ul>
<li>
<code>[selectors A][selectors B]</code> 和 <code>[selectors A] > [selectors B]</code> 有什麼差別呢?
</li>
<li>參考<a href="https://medium.com/%E7%8B%97%E5%A5%B4%E5%B7%A5%E7%A8%8B%E5%B8%AB/%E5%BF%98%E8%A8%98%E4%BA%86%E8%A6%8F%E5%89%87%E7%9A%84%E8%AB%8B%E8%B7%9F%E6%88%91%E4%BE%86-css-selector-%E9%81%B8%E6%93%87%E5%99%A8-%E5%9F%BA%E7%A4%8E%E7%AF%87-4b583639c118" target="_blank">文章</a>
</li>
</ul>
</li>
<li>
置中的方法你搜集了幾種?還有哪些組合也可以做到呢?
<ul>
<li>
hint:嘗試用 <code>position: absolute;</code> 搭配 <code>transform: translateX();</code> 看看
</li>
</ul>
</li>
<li>用 <code>calc()</code> (<a href="https://developer.mozilla.org/zh-CN/docs/Web/CSS/calc()" target="_blank">MDN</a>) 計算元素尺寸,自動調整寬度超方便!
</li>
<li>
你知道 <code>white-sapce</code> (<a href="https://developer.mozilla.org/zh-TW/docs/Web/CSS/white-space" target="_blank">MDN</a>) 嗎? 搭配 <code>inline-block</code> 後竟然不只能處理文字,還能搞定並排的圖片</li>
</li>
</ol>
這些小技巧都能夠幫助你的作品質感更上一層樓,或者在撰寫時更省時省力唷!<br>
</p>
</div>
#### 行前準備 - 設定視訊工具 Zoom
在未來所有的學習活動中,AC 團隊、助教會在線上透過 Zoom 這個工具來與同學們互動、練習。
因此請在工作坊前,參考下方投影片,確保你已經「完成註冊與安裝」並「了解 Zoom 的基本使用」,讓你在活動中能夠順暢的跟上助教的腳步。
<div style="position: relative;width:100%;height:0;padding-bottom: 56.25%;"><iframe style="position:absolute;top:0;left:0;width:100%;height:100%" src="https://docs.google.com/presentation/d/e/2PACX-1vRQ2ir_UbkgAaPHwund4EQgzuFNrvNW13PhqdlsR_8ndJvIojPRQPTY_8a7X9KBih3OkiKIU0z_7CQL/embed?start=false&loop=false&delayms=3000" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></div>
<div style="padding:10px;"></div>
期待在工作坊看見你的身影!
#### 更多工作坊
同學若想查詢更多工作坊活動,可以到 [學習活動日程](https://lighthouse.alphacamp.co/courses/101/units/20963) 單元確認喔!
<div class="further-reading" style="background: #ececec;">
<div class="further-reading-inner-wrapper">
<h5>無法參與工作坊怎麼辦?</h5>
<p>我們理解許多同學們一邊工作一邊學習,時間上不見得皆能每次參與。因此工作坊結束後隔天,我們會將工作坊的錄影與當天所使用的相關資料 (投影片、Sample Code) 整理發佈課程單元中。</p>
<p>但如果時間允許,我們相當推薦同學盡量參與工作坊,與助教、同學們即時互動,一起實作,對於學習的吸收成效更佳。</p>
</div>
</div>
---
### 05/10 CSS 切版挑戰賽 - 行前提醒
<div style="width:100%;">
<img src="https://assets-lighthouse.alphacamp.co/uploads/image/file/16338/Screenshot_2021-08-06___4.28.03.png">
</div>
在前端工程師的領域中,「網頁切版」是一個重要的課題,因此 AC 特別設計了切版挑戰,希望讓同學有機會在「短時間內」實際挑戰思考 HTML 結構,一步一步實作出特殊版型。
快來參加 CSS 切版挑戰賽,來提昇你的切版力吧!
現在就去看看這次工作坊的內容吧 ➡️ [報名 Week 3 CSS 切版挑戰賽](https://lighthouse.alphacamp.co/courses/101/units/28548)
<div style="width:100%"><img style="max-width:1000px; width:100%;" src="https://assets-lighthouse.s3.amazonaws.com/uploads/image/file/4416/banner_2.001.jpeg"></div>
---
## 行前準備再次提醒
### 【行前準備提醒】學期 2-3:CSS 切版挑戰賽
CSS 切版挑戰賽就在明天啦!
同學們將透過實戰,挑戰完成一個完整的版面,模擬實際切版的時間與狀況,再透過助教的講解,更熟悉 CSS 版面的規劃與屬性應用~
在這之前要提醒同學,別忘記先完成 [行前共筆](https://docs.google.com/document/d/1Rh29phzMSMvTCqkGRPHAckohqN70e3-J7edHPu6Ju0E/edit?usp=sharing),了解、規劃好 HTML 的結構,幫助自己參加工作坊時更好吸收哦!
#### 活動資訊
<div style="background: #ececec; padding: 15px; margin-bottom: 10px; border-radius: 10px ; min-width:450px; width:fit-content;">
• 活動時間:05/10 (三) 19:30 - 21:00<br>
• 與會連結跟行前準備:請參考 <a href="https://lighthouse.alphacamp.co/courses/101/units/26879" target="_blank"> CSS 切版挑戰賽活動頁面</a>
</div>
<div style="width:100%"><img style="max-width:1000px; width:100%;" src="https://assets-lighthouse.s3.amazonaws.com/uploads/image/file/4416/banner_2.001.jpeg"></div>
---
## 行前準備再次提醒(for 後端)
### 【工作坊特別開放】學期 2-3:CSS 切版挑戰賽
2-3 前端 CSS 切版挑戰賽就在明天啦!
這次特別開放 8 月班的同學一起參加,挑戰在一定時間內完成切版,增加切版熟練度,一起來看看 [CSS 切版挑戰賽活動頁面](https://lighthouse.alphacamp.co/courses/101/units/26649)吧💪🏻
同學們將透過實戰,挑戰完成一個完整的版面,模擬實際切版的時間與狀況,再透過助教的講解,更熟悉 CSS 版面的規劃與屬性應用~
在這之前要提醒同學,別忘記先完成 [行前共筆](https://docs.google.com/document/d/1Rh29phzMSMvTCqkGRPHAckohqN70e3-J7edHPu6Ju0E/edit?usp=sharing),了解、規劃好 HTML 的結構,幫助自己參加工作坊時更好吸收哦!
#### 活動資訊
<div style="background: #ececec; padding: 15px; margin-bottom: 10px; border-radius: 10px ; min-width:450px; width:fit-content;">
• 活動時間:05/10 (二) 19:30 - 21:00<br>
• 與會連結跟行前準備:請參考 <a href="https://lighthouse.alphacamp.co/courses/101/units/26649" target="_blank"> CSS 切版挑戰賽活動頁面</a>
</div>
<div style="width:100%"><img style="max-width:1000px; width:100%;" src="https://assets-lighthouse.s3.amazonaws.com/uploads/image/file/4416/banner_2.001.jpeg"></div>
---
## Webinar Update
### 【今晚 7:30 工作坊提醒】學期 2-3:CSS 切版挑戰賽
在練習「網頁切版」的同時,你是否希望增加自己在短時間內的應變及思考能力呢?
今天晚上 7:30 CSS 切版挑戰賽,將會透過實戰演練,引導你從思考到實作來增強你的切版力!
別忘記做行前準備,幫助自己更好吸收哦!我們晚上見!
#### 活動資訊
<div style="background: #ececec; padding: 15px; margin-bottom: 10px; border-radius: 10px ; min-width:450px; width:fit-content;">
• 活動時間:05/10 (三) 19:30 - 21:00<br>
• 與會連結跟行前準備:請參考 <a href="https://lighthouse.alphacamp.co/courses/101/units/28548" target="_blank"> CSS 切版挑戰賽活動頁面</a>
</div>
<div style="width:100%"><img style="max-width:1000px; width:100%;" src="https://assets-lighthouse.s3.amazonaws.com/uploads/image/file/4416/banner_2.001.jpeg"></div>
---
# After Webinar
### Week 3 CSS 切版挑戰賽 -- 會後精華
<span style="color:#E52F28; font-size: 0.9rem;">會後精華為提供無法上線同學會後學習,請同學還是務必以即時參與工作坊為主,結束後再看此單元作為複習唷!</span>
本次舉辦的 CSS 切版挑戰賽,助教設計了「房屋仲介個人頁面」版型,整場活動總共有四道挑戰題,同學需要在短時間內,完成指定區塊,包含 RWD 設計挑戰,十分緊張刺激!

助教從點評同學事前準備的 HTML 架構開始講解,並在過程中帶入與實作手法的展示與說明,幫助同學理解最抽象的背圖圖片定位問題。
活動的最後,助教也總結他學習切版的心法,並提醒同學實務上會需要留意的問題,帶給同學不同角度的切入觀點,同學直呼含金量滿滿。
<div style="position: relative;width:100%;height:0;padding-bottom: 56.25%;">
<iframe style="position:absolute;top:0;left:0;width:100%;height:100%" src="https://player.vimeo.com/video/813032001?h=3f41cd4336&badge=0&autopause=0&player_id=0&app_id=58479" frameborder="0" allowfullscreen></iframe>
</div>
<div style="line-height:16px;"></div>
#### CSS 技術重點摘要

- 運用 `position` 定位背景圖片
- 使用 `white-space: nowrap` + `inline-block` 做橫向排版
- 運用 `left:50%` + `transform: translateX(-50%);` 達成置中效果
- 定義多行文字溢出效果
```
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* 限定行數 */
overflow: hidden; /*多的字隱藏起來 */
```
- 用 `calc()` 計算元素尺寸,不同單元也可以自動計算寬度
#### reference
- 設計稿:https://www.figma.com/file/enR8o8OdlqJKYfXuLdRZ5d/AC_CSS_challenge_202201?node-id=1%3A3
- Starter Code: https://codepen.io/wang-jiang-yang/pen/YzVOrwa?editors=1100
- 完成版:https://codepen.io/wang-jiang-yang/pen/KKXdWwY
---
### 05/10 Week 3 CSS 切版挑戰賽 - Highlights
本次舉辦的 CSS 切版挑戰賽,助教設計了「房屋仲介個人頁面」版型,整場活動總共有四道挑戰題,同學需要在短時間內,完成指定區塊,包含 RWD 設計挑戰,十分緊張刺激!

助教從點評同學事前準備的 HTML 架構開始講解,並在過程中帶入與實作手法的展示與說明,幫助同學理解最抽象的背圖圖片定位問題。
<div style="display:flex; justify-content: space-between; background-color: #f6f6f6; border-radius:5px; font-size: 0.875rem; margin-bottom: 5px;">
<div style="width: 80%; padding: 2% 5%; display:flex; justify-content: space-between; align-items: center;">
助教講解的很詳細!
</div>
<div style="width: 18%; display:flex; align-items: center; padding: 2% 0;">
<img style="max-height: 30px; border-radius: 50%; margin-right: 5px;" src="https://assets-lighthouse.alphacamp.co/uploads/user/photo/10253/medium_________190527_0005.jpg">
<p style="margin-block-start: 0.25em; margin-block-end: 0.25em;">Keiko</p>
</div>
</div>
<div style="display:flex; justify-content: space-between; background-color: #f6f6f6; border-radius:5px; font-size: 0.875rem; margin-bottom: 5px;">
<div style="width: 80%; padding: 2% 5%; display:flex; justify-content: space-between; align-items: center;">
因為前天剛經歷完2-2,助教的教導用transform的置中方法感覺很實用!
</div>
<div style="width: 18%; display:flex; align-items: center; padding: 2% 0;">
<img style="max-height: 30px; border-radius: 50%; margin-right: 5px;" src="https://assets-lighthouse.alphacamp.co/uploads/user/photo/11353/medium_image7.jpeg">
<p style="margin-block-start: 0.25em; margin-block-end: 0.25em;">奎文</p>
</div>
</div>
現在就去看看精彩的會後錄影吧 ➡️ [切版挑戰賽會後精華](https://lighthouse.alphacamp.co/courses/101/units/28547)
<div style="width:100%"><img style="max-width:1000px; width:100%;" src="https://assets-lighthouse.s3.amazonaws.com/uploads/image/file/4416/banner_2.001.jpeg"></div>