@mp-list: margin m, padding p; .loop-mp(@infix, @adKey, @adValue, @i: 1) when (@i =< length(@mp-list)) { @item: extract(@mp-list, @i); @abbrev: extract(@item, 2); @prop: extract(@item, 1); .@{abbrev}@{infix} { @{prop}: @adValue !important; } .@{abbrev}t@{infix} { @{prop}-top: @adValue !important; } .@{abbrev}r@{infix} { @{prop}-right: @adValue !important; } .@{abbrev}b@{infix} { @{prop}-bottom: @adValue !important; } .@{abbrev}l@{infix} { @{prop}-left: @adValue !important; } .@{abbrev}x@{infix} { @{prop}-right: @adValue !important; @{prop}-left: @adValue !important; } .@{abbrev}y@{infix} { @{prop}-top: @adValue !important; @{prop}-bottom: @adValue !important; } .loop-mp(@infix, @adKey, @adValue, @i + 1); } .for-each(@spacings, { .infix-mixin(@adKey) when(@adKey = 0) { @infix: 0; } .infix-mixin(@adKey) when(default()) { @infix: ~"-@{adKey}"; } .infix-mixin(@adKey); .loop-mp(@infix, @adKey, @adValue, 1); });