我可以在CSS文件中指定变量名称吗?

时间:2014-12-01 23:14:42

标签: html css

我正在将背景图片添加到几百个网页中。我的应用程序直到运行时才知道要加载哪个图像。通过更改某些页面中的语句以包含我需要的属性以及图像文件名的变量等,我已经能够使一切正常工作:

<body style="margin:0; background-image: url(<%= strBackgroundImage %>); background-repeat: <%= strBackgroundRepeat %>">

虽然上述说法有效,但我宁愿将属性信息放入这样的CSS文件中:

body {
    margin:0; 
    background-image: url(<%= strBackgroundImage %>); 
    background-repeat: <%= strBackgroundRepeat %>;
}

但这不起作用。包含变量名称的属性将被忽略。如何修改上面的代码段,以便它可以在我的CSS文件中工作,并且仍允许我设置变量&#39;我的代码后面的文件内容?

感谢。

2 个答案:

答案 0 :(得分:3)

简而言之

不,你不能在CSS中传递变量。

SASS或SCSS

SASS和SCSS支持变量。

http://sass-lang.com/

<强> LESS

LESS也支持变量

http://lesscss.org/

答案 1 :(得分:0)

事实上,在传输完成的CSS文件之前,可以计算出服务器端逻辑。要启用此类行为,您需要将.css文件扩展名添加到传输之前传递给另一个解释器(类似PHP或ASP)的扩展列表中。但请记住,此过程比传统过程更耗费资源。

因此,在实施这样的解决方案之前,请考虑一下您的应用程序,也许您可​​以通过使用Rafael提到的预处理器来避免它。