我想在Scss中使用兩個自定義實用函數來優化與CSS相關的計算。編寫一個返回字符串的Sass/Scss函數
一個在EMS:
@function _em($wanted, $inherited) {
@return ($wanted/$inherited) + 'em';
}
...,另一個用於百分比:
@function _pc($wanted, $parent) {
@return (($wanted/$parent) * 100) + '%';
}
...然後美其名曰在線:
body {
margin: _pc(40,1024);
font-size: _em(20,16);
line-height: _em(26,20);
}
這些都不是返回然而,預期的Nem
或N%
字符串。 (我認爲這是我的字符串連接 - 即在計算結束時粘貼單位聲明 - 但我不確定)
任何人都可以闡明我在做什麼錯?
謝謝艾曼使用,儘管這有些煩人。想想我會用pc(x,y)和em(x,y)作爲帶有減號的前綴函數名稱可能會誤導其他開發者。 – markedup 2012-07-29 16:35:15
對於任何想要這些但沒有字符串輸出的人的參考,只需用SASS插值語法包裝返回值,例如: '@function -px-to-pc($ wanted,$ parent){ @return#{( $ wanted/$ parent)* 100)+'%'}; }' – 2013-02-05 00:46:43
謝謝,Jasmine,這是最好的解決方案 - 否則Sass似乎會將計算+並置作爲字面引用字符串轉儲爲CSS規則值! – markedup 2013-05-16 13:10:24