目標
利用 CSS 來讓製作網站的置頂選單
處理步驟
利用 CSS 的 position 固定後,再使用 transform 來強調凸顯內容,撰寫一部分 JS ,調整內容的位置。
步驟 1.
建立卷軸移動觸發事件
1 | const nav = document.querySelector("#main"); |
步驟 2.
建立固定標題列的 CSS
1 | * 固定標題 */ |
然後在 fixNav 中,判斷卷軸移動位置,動態增加樣式
1 | // 修正選單 |
步驟 3.
增加標題列的 logo 樣式,並讓標題列置頂時顯示,並調整內文的文字大小
1 | /* 顯示標題 logo */ |
增加內文 padding 避免內文因為凍結標題列而被遮蔽
1 | // 修正選單 |
筆記與備註事項
CSS 部分
position
CSS position属性用于指定一个元素在文档中的定位方式。top,right,bottom 和 left 属性则决定了该元素的最终位置。
定位类型
- 定位元素(positioned element)是其计算后位置属性为 relative, absolute, fixed 或 sticky 的一个元素。
- 相对定位元素(relatively positioned element)是计算后位置属性为 relative 的元素。
- 绝对定位元素(absolutely positioned element)是计算后位置属性为 absolute 或 fixed 的元素。
- 粘性定位元素(stickily positioned element)是计算后位置属性为 sticky 的元素。
資料來源 - MDN
參考資料
- JavaScript 30 day
- 作者 Github Wes Bos
- Js 30 day 中文指南
- 瓜瓜的 JS 30
- 我的 JS 30 練習Github