Sto provando a creare una funzione che converta una dimensione in pixel in ems o rems. La funzione è la seguente:Sass @if true function not working function
@function px2em($pixels, $fontSize: 16, $rem: false) {
@if $rem == true {
$unit: 0rem;
} @else {
$unit: 0em;
}
$ratio: 1/$fontSize;
@return ($pixels * $ratio) + $unit;
}
Quando compilo questo ottengo il seguente errore:
error style.scss (Line 36 of _functions.scss: Undefined variable: "$unit".)
Che cosa sto facendo male qui?
quindi potete dichiarare una variabile all'interno di una dichiarazione @If? – McShaman
@ McChaman Ho aggiornato la mia risposta, dai un'occhiata. Puoi effettivamente dichiarare le variabili in se block, ma quella variabile sarà disponibile solo in quel blocco. C'è un'altra domanda SO su questo argomento: http://stackoverflow.com/questions/15371332/sass-ignores-variables-defined-in-if-statement –