0
내 프로젝트 도우미 클래스를 여백, 글꼴 크기 등으로 만들기 때문에 문제가 있습니다. 클래스 이름을 정의하려면 클래스 이름의 속성을 "자리 표시 자"로 지정해야합니다.sass의 클래스 이름에 대한 동적 변수
현재 알 수 있듯이 범위 루프에 의해 m-r- (amount)을 생성하며 엄청난 한계 (컴파일 및 범위 시간)가 있습니다.
- $ value 변수가 자리 표시자인 처럼 작동하도록 할 수 있습니까?
- 그렇지 않다면 어떻게 할 수 있습니까? 다음
는 답변을
$break-small: 320px;
$break-medium: 768px;
$break-large: 1024px;
$break-extra: 1280px;
$baseSizes: (s: 1.5vw, m: 0.7vw, l: 5px, x: 5px);
$fontSizes: (s: 4.7vw, m: 2.08vw, l: 16px, x: 16px);
@mixin respond-to($media) {
@if $media == s {
@media (max-width: $break-medium) {
@content;
}
}
@else if $media == m {
@media (min-width: $break-medium) and (max-width: $break-large) {
@content;
}
}
@else if $media == l {
@media (min-width: $break-large) and (max-width: $break-extra) {
@content;
}
}
@else if $media == x {
@media (min-width: $break-extra) {
@content;
}
}
}
$range: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
$properties: (m: "margin", p: "padding", b: "border");
$directions: (t: "top", b: "bottom", l: "left", r: "right", a: "all");
@each $value in $range {
@each $breakpoint, $size in $baseSizes {
@each $aliasProp, $propValue in $properties {
@each $aliasFrom, $fromValue in $directions {
@if $aliasFrom == a {
.#{$aliasProp}-#{$aliasFrom}-#{$value} {
$final: calc((#{$value} * #{$size}) * 2);
#{$propValue}: $final;
}
}
@if $aliasFrom != a {
.#{$aliasProp}-#{$aliasFrom}-#{$value} {
$final: calc((#{$value} * #{$size}) * 2);
#{$propValue}-#{$fromValue}: $final;
&-#{$breakpoint} {
@include respond-to($breakpoint) {
$final: calc((#{$value} * #{$size}) * 2);
#{$propValue}-#{$fromValue}: $final !important;
}
}
}
}
}
}
}
}
http://codepen.io/anon/pen/NAmVVj codepen 감사에 대한 링크입니다!