Λειτουργία λωρίδας - CSS-Κόλπα

Anonim

Υπάρχει μεγάλη σύγχυση σχετικά με τον τρόπο λειτουργίας των μονάδων στο 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