Madeas
@Madeas
UI / UX Designer, Frontend Developer

Как перестроить миксин?

Собственно, сабж.

Пытаюсь составить конструкцию для вывода font-size под медиа запросы, где $queries: $sm, $md, $lg, $xl; - разрешения экранов, $sizes: $fzh6, $fzh5, $fzh4, $fzh3, $fzh2, $fzh1; - размер шрифтов.

Но в попытке собрать воедино - запутался еще хуже.

@each $query in $queries {
    @media (max-width: #{$queries}) {
        @mixin media-sizes($sizes) {
            @for $i from 1 through 6 {
                h#{$i} {
                  font-size: $sizes;
                }
            }
        }
    }
}


Помогите перестроить, пожалуйста)
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
@Flying
В целом всё очень просто:
@each $query in $queries {
    @media (max-width: #{$query}) {
        @for $i from 1 through 6 {
            h#{$i} {
              font-size: nth($sizes, $i);
            }
        }
    }
}

Однако лучше хранить размеры в map'е, это позволит упростить код:
$sizes: (
  h6: $fzh6, 
  h5: $fzh5, 
  h4: $fzh4, 
  h3: $fzh3, 
  h2: $fzh2, 
  h1: $fzh1
);

@each $query in $queries {
    @media (max-width: #{$query}) {
        @each $tag, $size in $sizes {
            #{$tag} {
              font-size: $size;
            }
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы