【发布时间】:2018-03-05 21:02:43
【问题描述】:
在过去的几个小时里,我一直在尝试制作偏移定位 mixin。我一直在努力解决很多错误,我不明白出了什么问题。
这是最新版本,
@function is-offset-prop-valid($value) {
$values: auto initial inherit 0;
@return (type-of($value) == number and not unitless($value))
and (index($values, $value) != false);
}
@mixin position($position, $args) {
$offsets: top right bottom left;
@each $offset in $offsets {
$i: index($args, $offset);
@if $i == length($args) {
@error "Empty offset values not allowed";
} else {
@if is-offset-prop-valid(nth($args, $i+1)) {
#{$offset}: nth($args, $i+1);
} else {
@error "Set value #{nth($args, $i+1)} not a valid property for #{$offset}";
}
}
}
positon: $position;
}
通常我会将nth($args, $i + 1) 设置为变量,但为了这个示例,我就这样保留了它。
当我使用 mixin 时
.abs {
@include position(absolute, top 10px);
}
我从内部 if 语句中得到这个错误:
Set value 10px not a valid property for top
【问题讨论】: