實做:使用JS控制CSS來改變圖片效果
學習重點
- 建立 CSS 全域變數 :root (IE 和 Edge 目前不支援)
- 利用 JS 動態改變 CSS 變數
解說
- 定義CSS全域變數
:root{ --變數名稱 : 變數值 }
1 | :root { |
- 使用變數
var( --變數名稱 )
1 | img { |
- 使用data attribute 定義單位 ex. px ,如果值是顏色就不需要
1 | <input type="range" name="spacing" min="10" max="200" value="10" data-sizing="px"/> |
- 使用 JS 取得 data attribute 值,即我們定義的單位
1 | const suffix = this.dataset.sizing || ' ' ; //取得自定義屬性data-sizing,若沒有就給空值 |
- 使用 JS 動態改變 CSS 變數值
利用 document.documentElement.style.setProperty( '--變數名稱', '變數值' )
動態改變 CSS,並且加上單位
1 | document.documentElement.style.setProperty(`--${this.name}`,this.value+suffix); |