【发布时间】:2020-03-23 16:41:56
【问题描述】:
我有一些断点,以及处理它们的 mixin:
$breakpoints: (
'xs': (max-width: 768px),
'sm': (min-width: 768px),
'md': (min-width: 992px),
'lg': (mix-width: 1200px),
) !default;
@mixin screen($breakpoint) {
@if map-has-key($breakpoints, $breakpoint) {
@media #{inspect(map-get($breakpoints, $breakpoint))} {
@content;
}
} @else {
@warn "Unfortunately, no value could be retrieved from `#{$breakpoint}`. "
+ "Available breakpoints are: #{map-keys($breakpoints)}.";
}
}
现在我喜欢的是像素值将通过em() 函数。
该函数如下所示:
@function em($pixels, $context: $font-initial-size) {
@return #{$pixels/$context}em;
}
现在我希望它看起来像这样:
$breakpoints: (
'xs': (max-width: em(768px)),
'sm': (min-width: em(768px)),
'md': (min-width: em(992px)),
'lg': (mix-width: em(1200px)),
) !default;
然后 CSS 输出是这样的:
@media (min-width: em(768px)) {
...应该是:
@media (min-width: 48em) {
那么如何在一个 sass 函数中返回一个 sass 函数的结果呢?
我尝试将 #{} 添加到 $breakpoint... 但没有奏效。
【问题讨论】:
标签: css sass scss-mixins