前端UNIAPP/uni_modules/uni-scss/styles/setting/_space.scss

@mixin fn($space,$direction,$size,$n) {
	@if $n {
		#{$space}-#{$direction}: #{$size*$uni-space-root}px
	} @else {
		 #{$space}-#{$direction}: #{-$size*$uni-space-root}px
	}
}
@mixin get-styles($direction,$i,$space,$n){
	@if $direction == t {
		@include fn($space, top,$i,$n);
	} 
	@if $direction == r {
		@include fn($space, right,$i,$n);
	} 
	@if $direction == b {
		@include fn($space, bottom,$i,$n);
	} 
	@if $direction == l {
	 @include fn($space, left,$i,$n);
	} 
	@if $direction == x {
		@include fn($space, left,$i,$n);
		@include fn($space, right,$i,$n);
	} 
	@if $direction == y {
		@include fn($space, top,$i,$n);
		@include fn($space, bottom,$i,$n);
	} 
	@if $direction == a {
		@if $n {
			#{$space}:#{$i*$uni-space-root}px;
		} @else {
			#{$space}:#{-$i*$uni-space-root}px;
		}
	} 
}

@each $orientation in m,p {
	$space: margin;
	@if $orientation == m {
		$space: margin;
	} @else {
		$space: padding;
	}
	@for $i from 0 through 16 {
		@each $direction in t, r, b, l, x, y, a {
			.uni-#{$orientation}#{$direction}-#{$i} { 
				@include  get-styles($direction,$i,$space,true);
			} 
			.uni-#{$orientation}#{$direction}-n#{$i} { 
				@include  get-styles($direction,$i,$space,false);
			}
		}
	}
}