关于如何将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>
答案 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