Υπάρχει μεγάλη σύγχυση σχετικά με τον τρόπο λειτουργίας των μονάδων στο Sass. Ωστόσο, λειτουργούν ακριβώς όπως και στην πραγματική ζωή. Εάν θέλετε να καταργήσετε τη μονάδα τιμής, πρέπει να τη διαιρέσετε με 1 μονάδα. Για παράδειγμα, για να αφαιρέσετε τη cm
μονάδα 42cm
, πρέπει να τη διαιρέσετε με 1cm
. Λειτουργεί ακριβώς το ίδιο στο Sass.
$length: 42px; $value: $length / 1px; // -> 42
Τι γίνεται όμως αν δεν γνωρίζετε τη μονάδα που χρησιμοποιείται; Ας πούμε ότι θα μπορούσε να είναι οτιδήποτε, από pixel έως em
και ακόμη vw
και ch
. Τότε πρέπει να αφαιρέσουμε τη λογική σε μια συνάρτηση:
/// 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; )
Ο υπολογισμός μπορεί να φαίνεται περίεργος, αλλά στην πραγματικότητα έχει νόημα. Για να έχουμε 1
τη μονάδα $number
, μπορούμε να πολλαπλασιάσουμε $number
με 0
και μετά να προσθέσουμε 1
.
Χρήση
$length: 42px; $value: strip-unit($length); // -> 42