SASS如何知道未定义的变量?

SASS如何知道未定义的变量?,sass,scss-mixins,Sass,Scss Mixins,我有这个混音器: @mixin respond($breakpoint) { @if $breakpoint == phone { @media (max-width: 37.5em) { @content }; } } 这种混合物是这样使用的: @include respond(phone) { font-size: 50%; } @include respond(something) {} @mixin respond($breakpoi

我有这个混音器:

@mixin respond($breakpoint) {
    @if $breakpoint == phone {
        @media (max-width: 37.5em) { @content };
    }
}
这种混合物是这样使用的:

  @include respond(phone) {
    font-size: 50%;
  }
@include respond(something) {}

@mixin respond($breakpoint) {
    @if $breakpoint == something {
        …do what you want
    }
}
我不明白的是,SASS如何知道变量
phone
是什么

当您调用
@include respond(phone)
时,传递的是什么?类似地,当发生这种情况时,比较的是什么<代码>@if$breakpoint==电话

那么什么是电话呢?我在代码中找不到将phone定义为变量的地方


但是看看编译后的css,它似乎是有效的。

手机只是特定断点的参考,你也可以键入任何东西而不是
phone
,神奇的事情发生在
if
语句中,在该语句中你定义了什么是
phone
,参考:

@media (max-width: 37.5em) { @content };
要分解它: 您在此处通过电话进行回应:

@include respond(phone) {…}
然后在
mixin
respond中,检查
$breakpoint
是否等于
phone
或您在
@include respond()中编写的任何内容。如果它是真的,它将进入If语句的内部

例如,您可以这样做:

  @include respond(phone) {
    font-size: 50%;
  }
@include respond(something) {}

@mixin respond($breakpoint) {
    @if $breakpoint == something {
        …do what you want
    }
}

电话只是特定断点的参考,您也可以键入任何内容而不是
phone
,神奇的事情发生在
if
语句中,您可以在该语句中定义什么是
phone
参考:

@media (max-width: 37.5em) { @content };
要分解它: 您在此处通过电话进行回应:

@include respond(phone) {…}
然后在
mixin
respond中,检查
$breakpoint
是否等于
phone
或您在
@include respond()中编写的任何内容。如果它是真的,它将进入If语句的内部

例如,您可以这样做:

  @include respond(phone) {
    font-size: 50%;
  }
@include respond(something) {}

@mixin respond($breakpoint) {
    @if $breakpoint == something {
        …do what you want
    }
}

我仍然不明白,当我说
@include respond(phone)
时,我传递的是什么?看起来电话什么都没有
@mixin respond($breakpoint)
希望向其传递一个参数,在本例中为$breakpoint,但传入phone意味着什么呢?手机可以只说一个表示断点的单词,这样您就可以更轻松地访问它。编写
手机
然后在每次需要时编写@media查询会更容易。因此,您正在将
@include respond(phone)
中的内容传递给
@content
。。。现在更清楚了吗?这是一篇很好的文章,介绍了在SCS中使用媒体查询的不同方法。我很清楚您的最新答案!嘿,谢谢你,伙计!我仍然不明白,当我说
@include respond(phone)
时,我传递的是什么?看起来电话什么都没有
@mixin respond($breakpoint)
希望向其传递一个参数,在本例中为$breakpoint,但传入phone意味着什么呢?手机可以只说一个表示断点的单词,这样您就可以更轻松地访问它。编写
手机
然后在每次需要时编写@media查询会更容易。因此,您正在将
@include respond(phone)
中的内容传递给
@content
。。。现在更清楚了吗?这是一篇很好的文章,介绍了在SCS中使用媒体查询的不同方法。我很清楚您的最新答案!嘿,谢谢你,伙计!