問題描述
昨天寫項目 遇到了一點問題,需要寫個標尺 但是要根據用戶輸入的參數 動態改變標尺的樣式,最初考慮用圖片 寫幾個模板 來回切換class實現 ,但是ui和產品拒絕使用圖片,無奈之下 就寫了偽類css 來實現標尺。后來想 也就固定幾個尺寸 寫幾個class樣式切換就好了,但是最后又加了個需求,可以用戶自定義,這時候問題就來了 js不能直接修改css偽類樣式 ,無奈之下 各種請教 各種查,最后找到了解決方案,現在發出來共享一下
- 設定sass可以直接讀取的參數:
document.getElementsByTagName('body')[0].style.setProperty('參數名','值');
- sass 中讀取參數:
$a :var(參數名)
這樣我們就可以了, 然后還有一點小補充 有可能 我們會在calc()變量計算中使用 這個動態獲取的參數,那么這個時候我們就不能直接使用了,需要使用#{}來把定義的變量包起來,例:width:calc(100% - #{$a})
