如何将CSS添加到Vaadin / Maven项目?

时间:2011-08-19 10:41:39

标签: css maven themes liferay vaadin

关于如何将CSS添加到Vaadin项目中存在a question at SO。提示是在/WEB-INF/VAADIN/themes/位置添加css。

我的问题是Vaadin项目通常在WebContent下有WEB-INF文件夹,现在在Maven上类似的文件夹在webapp下。这似乎导致我的css更改没有生效。

此外,是否有必要将自定义css与原始css放在相同的子结构中?我想修改table css并且不知道css是否需要在特定路径中。

那么如何为表添加css以便更改表,而不仅仅是代码构建正确? :)

更新1 :我可以使用Firebug获得以下tempalate,但这是我接触浏览器的最接近的事情。

  

< link rel =“stylesheet”type =“text / css”href =“/ html / VAADIN / themes / mytheme / styles.css”>
  < html>
  <头>
  <标题> < / title>   
  < / head>
  
  < body onload =“javascript:location.replace('/ c')”>
  < ! - 下面的数字用于填充空间,以便在IE中正常工作。   有关详情,请参阅http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807   有关为何必要的信息。
  12345678901234567890123456789012345678901234567890123456789012345678901234567890个
  12345678901234567890123456789012345678901234567890123456789012345678901234567890个
  12345678901234567890123456789012345678901234567890123456789012345678901234567890个
    - >
  < / body>
  < / html>
  < / link>

2 个答案:

答案 0 :(得分:8)

您可能会将styles.css文件放在src/main/webapp/VAADIN/themes/[yourtheme]/文件夹中,并将Maven配置为将src/main/webapp中的所有内容复制到您的WEB-INF中。这样,您的.css文件将以WEB-INF/VAADIN/themes/[yourtheme]/结尾。

强烈建议从主题继承而不是尝试覆盖默认主题的行为。

然后,您需要在应用程序中指定主题名称

public void init()
{
    setTheme("simplegae");
    ...

并使你的.css文件继承自主题的css(runo,reindeer,...)。

@import "../reindeer/styles.css";

我最近使用Maven提供了一个示例Vaadin应用程序,可以在this address访问。它的目的是在GAE上工作,但你可以从SVN查看它,看看我做了什么:

svn co http://code.google.com/p/tinywebgears-samples/source/browse/trunk/simplegae/ simplegae

答案 1 :(得分:4)

  

您可能会将styles.css文件放在src / main / webapp / VAADIN / themes / [yourtheme] /文件夹中,并将Maven配置为将src / main / webapp中的所有内容复制到WEB-INF中。这样你的.css文件就会以WEB-INF / VAADIN / themes / [yourtheme] /。结束。

稍微改变一下: 把你的文件夹放在src / main / 资源 / VAADIN / themes /而不是src / main / webapp / VAADIN / themes /

我希望它对你有用,因为它对我们有用

关心Éric

编辑:这是一个有用的链接:Deploying a Maven web project on Jetty