近日,一些開發(fā)者反映在使用CSS框架時(shí)無法使用SLAM進(jìn)行樣式設(shè)置。這是因?yàn)镾LAM只在Less、Stylus和Sass等預(yù)處理器中才有對(duì)應(yīng)的插件支持,而未能兼容原生CSS。
/*SLAM在預(yù)處理器中的使用*/ @import "slam"; .btn { slam('color', #fff);/*設(shè)置文本顏色*/ slam('background-color', #007bff);/*設(shè)置背景色*/ }
而在原生CSS中則需要使用CSS變量、CSS函數(shù)或自定義屬性等方式來實(shí)現(xiàn)類似的效果。
/*使用CSS變量*/ :root { --text-color: #fff; --bg-color: #007bff; } .btn { color: var(--text-color); background-color: var(--bg-color); } /*使用CSS函數(shù)*/ .btn { color: rgb(255, 255, 255); color: var(--text-color, rgb(255, 255, 255));/*如果變量未定義則使用默認(rèn)值*/ background-image: linear-gradient(to bottom, var(--start-color, #007bff), var(--end-color, #0069d9)); } /*自定義屬性*/ .btn { --text-color: #fff; --bg-color: #007bff; color: var(--text-color); background-color: var(--bg-color); }
雖然無法直接使用SLAM進(jìn)行樣式設(shè)置,但通過CSS變量、CSS函數(shù)或自定義屬性等方式,我們?nèi)匀荒軌驅(qū)崿F(xiàn)同樣的目的。