本課程將進階探討如何利用 CSS 提升網頁的專業感。我們將透過「飲料店菜單」的實作練習,學習選擇器的運用、文字排版細節,以及如何運用背景與轉場效果創造動態視覺。
在新聞網頁或專題中,結構化的列表(如名單、數據、選單)非常常見。我們利用 HTML 標籤搭配 CSS 進行樣式美化。
請使用以下標籤建立你的菜單原型:
<h3>: 飲料分類(如:季節限定、手作茶飲)。<ul> & <li>: 清單結構。<span>: 用於標註價格或強調特定字詞。<hr>: 區隔不同類別的分隔線。請在你的樣式表中套用以下設定:
font-family: 設定字體。建議使用 sans-serif 或特定風格字體提升品牌感。font-size: 區分標題與內文。text-align: 決定標題或內容要居中或靠左。color: 設定字體顏色(建議搭配飲料品牌的視覺色系)。vertical-align: 調整圖片與文字,或不同大小文字之間的垂直對齊。為了讓菜單看起來更生動,我們不需要為每個標籤手動加 class,而是利用 CSS 的自動選取功能。
:first-letter: nth-child(2n+1):當多個 CSS 規則同時作用在同一個元素時,誰會勝出? 這就是 Specificity (權重) 的概念。你可以參考 Specifishity 的圖表:
style="" (權重最高)#navbar.menu-item, :hoverh1, p, li提示:如果你的 CSS 沒生效,通常是因為權重被其他的規則蓋過去了。
利用背景圖案(Backgrounds)可以營造網頁的氛圍。請嘗試使用以下屬性:
background-color: 基礎底色。background-image: 匯入背景圖(可使用範例雲朵圖:cloud.svg)。background-repeat: 設定是否重複(no-repeat, repeat-x)。background-position: 調整背景在容器中的位置(例如:center, top right)。background-size: 關鍵屬性。建議嘗試 cover (填滿) 或 contain (完整顯示)。background-attachment: 嘗試設定為 fixed,會產生類似視差捲動的效果。為了增加互動感,我們讓寬度與背景圖在滑鼠移入時產生平滑的變化。
.card {
width: 200px;
background-size: 100%;
/* 設定動態效果 */
transition-property: width, background-size;
transition-duration: 0.5s; /* 持續時間 */
transition-timing-function: ease-in-out; /* 漸變函數 */
}
.card:hover {
width: 250px;
background-size: 120%;
}
完成後,請將你的專案更新至 GitHub 並提交 Pull Request。
參考資源:
New Media Techniques and Design