我正在尝试在CSS中学习媒体查询,对于我遇到的一些示例,我没有什么疑问。查询如下:
我已经看到在.scss
文件中以以下格式声明了一个变量,该文件用于react组件:
$screen-xs-max: ($screen-sm-min - 1);
为什么在这里使用-1?
我的第二个问题是关于这个的:
$large-screens-up: "(min-width: #{$screen-lg-min})";
我对这些代码行有2个问题:
为什么在" "
中声明了变量,这不是使变量成为字符串吗?
为什么在这里使用#
?我猜是在导入变量的路径中找到变量$screen-lg-min
,但是我不确定它是否正确。我只是想确认那是正确的事情,还是如果我错了就纠正我。
有人可以帮助我解决这些疑问吗?如果这太简单了,我感到抱歉。我尝试自己获取答案,但找不到。
答案 0 :(得分:1)
在SCSS中
考虑$screen-sm-min:546px;
,它将在项目或节点模块文件夹中的scss变量文件中声明。
$screen-xs-max: ($screen-sm-min - 1);
表示$screen-xs-max
的值比545px的$screen-sm-min
小1。
$large-screens-up: "(min-width: #{$screen-lg-min})";
scss中的变量可以直接使用$varible-name
来使用,
但是,当您想在scss中的字符串中使用相同的变量 时,您将必须遵循
#{$variable-name}
方法
为什么为-1
请考虑将小型设备的宽度设置为 0到545px(最大值)。
将小型设备的宽度设置为 546px(最小值)到768px(最大值)
因此,超小型设备的最大宽度为
(min value of small devices) - 1
此方法用于避免scss文件中的编码值
例如,如果您决定更改宽度的值,则只能在一个位置更改它,并让公式来处理宽度的其余计算