Sass是否具有开关功能?
有了Sass使用变量的能力,人们希望我们可以用它们来实现大量的逻辑函数 有没有办法做到这一点Sass是否具有开关功能?,sass,compass-sass,Sass,Compass Sass,有了Sass使用变量的能力,人们希望我们可以用它们来实现大量的逻辑函数 有没有办法做到这一点 $someVar: someValue !default; @switch $someVar { @case 'red': .arbitrary-css here {} @break; @case 'green': .arbitrary-css here {} @break; @case 'blue': .
$someVar: someValue !default;
@switch $someVar
{
@case 'red':
.arbitrary-css here {}
@break;
@case 'green':
.arbitrary-css here {}
@break;
@case 'blue':
.arbitrary-css here {}
@break;
}
但是,我在Sass参考资料中找不到与此相关的任何内容。Sass不支持开关盒 Sass仅支持四个控制指令:
- @如果
- @为了
- @各
- @当
$newVar: map-get((
case_1_test_name : case_1_return_value,
case_2_test_name : case_2_return_value,
), $testVar);
下面是一个例子:
$vehicle: car;
$vehicleSeating: map-get((
car : 4,
bus : 20,
), $vehicle);
//$vehicleSeating = 4
上述示例转换为if/else语句:
$vehicle: car;
@if ($vehicle == 'car') {
$vehicleSeating: 4;
} @else if ($vehicle == 'bus'){
$vehicleSeating: 20;
}
//$vehicleSeating = 4
Case只是一个伪装的if/else。这是如何回答被问到的问题的呢?我提供了一种在SASS中使用switch语句的替代方法,以一种很多人都不会想到的方式使用SASS映射。我已经删除了关于从SASS映射生成CSS的答案中不相关的部分。只是提供了一个比一堆if/else语句更干净的替代方案。这个解决方案是一个很好的替代方案。@Vladyn请尝试将此混合用于媒体查询。我认为这是互联网上最强大的媒体查询工具