Funzione Strip-unit - Trucchi CSS

Anonim

C'è molta confusione sul modo in cui funzionano le unità in Sass. Tuttavia, funzionano esattamente come nella vita reale. Se vuoi rimuovere l'unità di valore, devi dividerla per 1 unità. Ad esempio, per rimuovere l' cmunità di 42cm, devi dividerla per 1cm. Funziona esattamente allo stesso modo in Sass.

$length: 42px; $value: $length / 1px; // -> 42

Ma cosa succede se non conosci l'unità in uso? Diciamo che potrebbe essere qualsiasi cosa, dai pixel emao anche vwe ch. Quindi dobbiamo astrarre la logica in una funzione:

/// Remove the unit of a length /// @param (Number) $number - Number to remove unit from /// @return (Number) - Unitless number @function strip-unit($number) ( @if type-of($number) == 'number' and not unitless($number) ( @return $number / ($number * 0 + 1); ) @return $number; )

Il calcolo potrebbe sembrare strano ma in realtà ha senso. Per avere 1l'unità di $number, possiamo moltiplicare $numberper 0e quindi aggiungere 1.

Utilizzo

$length: 42px; $value: strip-unit($length); // -> 42