Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css SASS条件变量?_Css_Sass - Fatal编程技术网

Css SASS条件变量?

Css SASS条件变量?,css,sass,Css,Sass,我有一组变量,我想用条件来设置。Modernizr正在为我处理触控设备的检测,并相应地在HTML标记中添加了.touch或.no touch类。我有一个全局\u settings.scss文件,其中充满了变量。其中许多用于布局和大小调整,我希望根据HTML标记上的.touch和.no-touch类的存在,使其中的许多行为有所不同 我的选择是什么?不确定通过编译时间无关的条件(如正文上的作用域类)设置变量是否是正确/最合理的方法- 您已经知道,根据作用域主体类的不同,某些变量需要不同的值,而这些值

我有一组变量,我想用条件来设置。Modernizr正在为我处理触控设备的检测,并相应地在HTML标记中添加了
.touch
.no touch
类。我有一个全局
\u settings.scss
文件,其中充满了变量。其中许多用于布局和大小调整,我希望根据HTML标记上的
.touch
.no-touch
类的存在,使其中的许多行为有所不同


我的选择是什么?

不确定通过编译时间无关的条件(如正文上的作用域类)设置变量是否是正确/最合理的方法- 您已经知道,根据作用域主体类的不同,某些变量需要不同的值,而这些值似乎不依赖于编译期间已知的任何计算或条件

我建议(在当前项目中也是这样)在
\u设置中使用不同的变量,如
$my var touch
$my var no touch
(或
$my var--no touch
–是的,我甚至会在
\u设置中使用变量:);然后在实际选择器范围内执行相关声明/计算:

.touch {
  .my-class {
    width: $my-var-touch;
  }
}

.no-touch {
  .my-class {
    width: $my-var--no-touch;
  }
}
当然,您用例的正确答案取决于您实际要做什么,导入链如何设置,在计算方面走了多远,等等,但是我已经找到了我刚才粗略概述的方法,可以在可维护性和可读的语义scss代码方面帮我很多忙