从编程语言(coldfusion 或 PHP)将变量传递给 sass
我想从 Coldfusion 或 php 将变量传递给我的 sass。
上面我声明了一个 var,我需要将其传递给 sass 以在我的 _base.sass 中设置容器大小。
有办法做到吗?
I would like to pass a variable to my sass from coldfusion or php.
Above I declare a var that I need to pass to sass to set a container-size in my _base.sass.
Is there a way to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用变量中的 !default 标志来执行此操作。这就是我的意思
如果你的 php 代码不需要覆盖 var,你仍然可以有后备。您在 php 文件中编写的任何内容都将首先声明。那么只要你的变量文件在所有变量上使用 !default 标志,那么它就不会覆盖 php 设置的变量。
更多信息在这里:
http://sass-lang.com/docs/yardoc /file.SASS_REFERENCE.html#variable_defaults_
我已经使用 http://www.phpsass.com/ 就可以了。
Use the !default flag in your variable to do this. here's what i mean
This way you can still have a fallback for if your php code doesn't need to override a var. anything you write in the php file will be declared first. then as long as your variables file uses the !default flag on ALL variables then it won't override the php set ones.
more info here:
http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html#variable_defaults_
I have tested this with the php compiler at http://www.phpsass.com/ and it works.
我认为你应该通过 php/coldfusion 直接写入 sass 文件。我怀疑还有其他方法可以做到这一点。
一个简单的方法就是将变量放在 sass 文件或其他文件中的第一行,然后使用 PHP 覆盖该值。
I think you should be writing directly to the sass file through php/coldfusion. I doubt there is another way to do it.
An easy way to do this would just be to put your variable on your first line in the sass file or something and just overwrite the value using PHP.
我发现的最干净的解决方案是执行以下操作。在你的 html 文件(我的是 Blade 模板)中,你可以注入你的变量($bodyBgColour):
然后在你的 scss 文件中你可以使用它:
然后你可以在你的类中使用该 sass 变量:
The cleanest solution i found was to do the following. In your html file (mine is a Blade template) you can inject your variable ($bodyBgColour):
Then in your scss file you can use it:
And you can subsequently use that sass variable in your classes: