@smport在sass的@if语句中(代码片段)

author author     2023-05-11     345

关键词:

我只想加载登录页面所需的css以提高性能。在我的其他页面上,我想要一个分组的css文件,它将缓存在包含我所有css的每个页面上。

我有以下文件:

minifiedcssforloginpage.scss
grouped-pages.scss

在minifiedcssforloginpage.scss中,我声明$ load-complete-css:false。然后我导入myproject.scss,其中包含我的模块,布局,核心的所有导入...在myproject.scss中我想做类似的事情

@if $load-complete-css 
     @import module1;
     @import module2;
     @import module3;

因此minifiedcssforloginpage.scss将使用较少的css生成minifiedcssforloginpage.css,然后使用grouped-pages.css(将var $ load-complete-css设置为true)生成。

但是我得到一个错误,这是不可能的“导入指令可能不会在控制指令或mixins中使用”。

答案

这是其中一项不允许的事情。您唯一能做的就是将这些导入转换为mixins(在@if之外导入文件并在适当的时候调用mixin)。

澄清:

_partial.scss

@mixin partial 
    .test  color: red 
    // other styles here

styles.scss

@import "partial";
@if $someval == true 
    @include partial;

另一答案

核心开发团队不愿意实施此功能,尽管他们正在考虑实施全新的依赖系统。


See the following Github issues :

另一答案

以对您有意义的方式将您的样式放入各种partial文件中。然后,您可以为登录页面创建单独的SASS文件,该文件仅导入具有相关样式的文件。

引用my answer到另一个问题:

目前无法使用SASS动态包含文件。 @import不能在控制指令(例如@if)或mixins中使用,在import指令中使用变量是错误的语法,并且没有指令提前结束文件执行(effectively允许条件导入)。但是,您可以通过更改样式规则的结构来解决问题。

...如果您有[应该]有条件地包含的样式[they]应该封装在mixins中,在'module'或'library'文件中。 ...主要思想是导入一个这样的文件不会输出任何CSS。这样,您可以冗余地导入这些文件,以便您可以在任何需要的地方使用mixins。

在 SASS 中的 if 语句中使用“每个循环变量”

】在SASS中的if语句中使用“每个循环变量”【英文标题】:Using"eachloopvariables"insideifstatementinSASS【发布时间】:2019-05-2420:09:53【问题描述】:我正在尝试通过SASS中的每个循环生成一堆样式。只有在设置了每个循环现在正... 查看详情

Sass 中的 @if 语句中的 @import

】Sass中的@if语句中的@import【英文标题】:@importin@ifstatementinSass【发布时间】:2012-12-0211:25:22【问题描述】:我只想加载登录页面所需的css以提高性能。在我的其他页面上,我想要一个分组的css文件,该文件将缓存在包含我所有c... 查看详情

在“if”语句中有多个布尔条件?(代码片段)

我正在尝试用多个布尔条件编写一个“if”语句。现在,我有5个不同的布尔变量。在“if”语句中,我想根据布尔变量为true来打印不同的东西。我现在拥有的代码打印出每个“if”语句的结果,而不是仅显示真实的结果。booleanres... 查看详情

sass入门(代码片段)

...它将CCS变为了一种更干净、高效的编程语言(变量、条件语句、继承...)。2安装与使用2.1安装下载Ruby安装sass,通过在命令行中运行geminstallsass2.2使用创建Sass文件,后缀名为.scss,意思为SassyCSS。2.2.1生成CSS命令行运行以下语句可... 查看详情

sass插值语句的使用(代码片段)

...calc的时候想要使用函数求值的时候遇到了需要使用插值语句来完成的情况.contentheight:calc(100vh-#remP(100));这里不能直接使用remP(100),需要使用#差值语句将变量函数等求值才行 查看详情

04_if语句(代码片段)

01.if语句体验1.1if判断语句基本语法在Python中,if语句就是用来进行判断的,格式如下:if要判断的条件:条件成立时,要做的事情……注意:代码的缩进为一个tab键,或者4个空格在Python开发中,Tab和空格不要混用!我们可以把整... 查看详情

html如何在带有liquid的if语句中使用多个参数(代码片段)

查看详情

在同一个sub中运行两个if语句(代码片段)

我一直在试图找出如何在一个sub中运行两个If语句。这些If语句彼此完全不同。它们不是基于多种条件的一种行为。它们是影响两个按钮标签的两个动作。Ifx>0ThenMe.isResolved.backcolor="5921504"Me.isResolved.Caption=X&"Notesneedreviewed."IfY&g... 查看详情

导入sass文件(代码片段)

...添加下划线,这样会告诉Sass不要编译这些文件,但导入语句中却不需要添加下划线。 查看详情

判断(if)语句(代码片段)

目标开发中的应用场景if语句体验if语句进阶综合应用01.开发中的应用场景生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……程序中的判断if今天发工资:?  先还信用卡的... 查看详情

if语句(代码片段)

01.if语句体验1.1if判断语句基本语法在Python中,if语句就是用来进行判断的,格式如下:if要判断的条件:条件成立时,要做的事情……注意:代码的缩进为一个tab键,或者4个空格——建议使用空格在Python开发中,Tab和空格不要混... 查看详情

vba-在“if语句”中嵌套“带语句”(代码片段)

...部分正在加载数据。我的第一次尝试是使用嵌套在“IF”语句中的“With”语句。这不起作用(我得到一个编译器错误,如果没有,则说明Else)。有没有办法让这项工作?或者另一种方法是使用状态变量来确定我正在加载的UDT的... 查看详情

在pandas中使用applylambda函数具有多个if语句(代码片段)

我试图根据像这样的数据框中的人的大小来推断分类:Size1800002800000038000000000...我希望它看起来像这样:SizeClassification180000<1m280000001-10m38000000000>1bi...我理解理想的过程是应用这样的lambda函数:df['Classification']=df['Size'].apply(lamb... 查看详情

lees入门(代码片段)

安装1下载EasyLess插件   2新建less文件,输入less语句,保存,就会在同级目录下生成同名的css文件   3在HTML页面导入<linkrel="stylesheet"href="../less/a.css"> 与Sass的区别:Less是基于JavaScript的,在客户端处理... 查看详情

条件判断之if语句(代码片段)

  if语句  每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码... 查看详情

css预处理器sass和less(代码片段)

...$数据类型运算数字运算除法运算颜色值运算圆括号插值语句`#`嵌套选择器嵌套属性嵌套父选择器&混合继承导入媒体查询颜色函数控制指令if语句for语句each语句while语句自定义函数function注释Less编译Less浏览器编译命令行... 查看详情

sass命令(代码片段)

...external=Encoding.find(‘utf-8‘)     在require语句结束处,如:require‘sass/media‘require‘sass/supports‘moduleSassEncoding.default_external=Encoding.find(‘utf-8‘)2.在scss文件的头部加一行@charset "utf-8"命令sassabc.scssabc.css 查看详情

if语句中有exit()语句(代码片段)

...nxxxx.py192.168.100.101")print("-"*30)#若if条件不满足,则跳出判断语句,不执行else语句exit()在程序中如果遇到if语句中有exit(),程序一旦从if语句中进入并执行到exit(),那么立即会跳出整个程序,不再执行。 查看详情