Kiểm tra kiểu nâng cao - Thủ thuật CSS

Anonim

Tập hợp các hàm này là để kiểm tra xem giá trị của một biến thuộc một loại nhất định. Ví dụ, có phải là 13remđộ dài tương đối? THẬT! Là "frosty the snowman"và số nguyên? SAI!

Điều này có thể hữu ích nhất cho những người tạo khuôn khổ và mixin nâng cao nhằm mục đích làm cho mã của họ có khả năng chịu lỗi tốt hơn.

//// // A collection of function for advanced type checking // @author Hugo Giraudel //// @function is-number($value) ( @return type-of($value) == 'number'; ) @function is-time($value) ( @return is-number($value) and index('ms' 's', unit($value)) != null; ) @function is-duration($value) ( @return is-time($value); ) @function is-angle($value) ( @return is-number($value) and index('deg' 'rad' 'grad' 'turn', unit($value)) != null; ) @function is-frequency($value) ( @return is-number($value) and index('Hz' 'kHz', unit($value)) != null; ) @function is-integer($value) ( @return is-number($value) and round($value) == $value; ) @function is-relative-length($value) ( @return is-number($value) and index('em' 'ex' 'ch' 'rem' 'vw' 'vh' 'vmin' 'vmax', unit($value)) != null; ) @function is-absolute-length($value) ( @return is-number($value) and index('cm' 'mm' 'in' 'px' 'pt' 'pc', unit($value)) != null; ) @function is-percentage($value) ( @return is-number($value) and unit($value) == '%'; ) @function is-length($value) ( @return is-relative-length($value) or is-absolute-length($value); ) @function is-resolution($value) ( @return is-number($value) and index('dpi' 'dpcm' 'dppx', unit($value)) != null; ) @function is-position($value) ( @return is-length($value) or is-percentage($value) or index('top' 'right' 'bottom' 'left' 'center', $value) != null; )