CSS文件中的变量

时间:2013-04-01 18:15:09

标签: java html css variables web

我有一个Java Web项目,我希望在我的应用程序中进行拆分测试。我希望能够根据传递的查询字符串选择不同的标题图像。例如,如果用户检索以下URL:

http://www.website.com/?header=1

然后我显示标题的图像A.如果用户检索这样的URL:

http://www.website.com/?header=2

我展示了图像B. 我已经通过表达式语言变量在我的html中收到了'header'值。问题是我在CSS文件中设置了图片网址。如何将此变量传递给CSS文件以加载正确的图像?

PS:我知道我可以在HTML文件中应用该样式,但我想在CSS文件中提取所有样式。

5 个答案:

答案 0 :(得分:2)

除非你使用像LESS这样的东西,否则这是不可能的。

您可以做的是制作单独的CSS文件,使用查询字符串通过Java Web确定您的需求并根据情况加载您需​​要的文件。

答案 1 :(得分:1)

如果我正确理解了您的问题,我相信您可以根据您从标头输入的内容将不同的CSS类应用于标题。

答案 2 :(得分:1)

在css中为不同的背景标题图像添加2个不同的类,然后在编码中应用不同的类。

.header1 {
background-image: url(background1.jpg);
}

.header2 {
background-image: url(background2.jpg);
}

答案 3 :(得分:0)

您有三个基本选项:

  • 根据查询参数切换CSS文件,每个标题图像有一个CSS文件 - 您可以设置标题图像,并在自己的文件中包含静态样式。
  • 使用LESSSASS之类的内容。
  • 将CSS编写为JSP文件或通过servlet动态生成,并在服务器上动态更改样式。

答案 4 :(得分:0)

将CSS样式分为3个部分:

  • common.css
  • header1.css
  • header2.css

根据您的标题,您可以包含headerN.css个类别。您也可以在服务器端(在<head>中生成不同的包含)或在客户端(使用javascript提取header值并动态包含正确的css)来解决它。