gpt4 book ai didi

css - 在 CssResource 中连接字符串以创建 url

转载 作者:行者123 更新时间:2023-11-27 22:30:55 25 4
gpt4 key购买 nike

我在使用背景 url 的 ClientBundle 中有一些 CSS。因为我从 /index.html 加载了 javascript (/MyModule/MyModule.nocache.js),所以我在 CSS 中的相对 url 来自 root。这意味着

.myBackground { background: url("images/background.png"); }

将尝试从 /images/background.png 加载。这似乎是 runtime css substitution 的完美案例.我将以下行添加到我的 css 文件的顶部:

@eval moduleName com.google.gwt.core.client.GWT.getModuleName();

我现在如何将 moduleName 变量与字符串 "images/background.png" 结合起来?

我正在寻找类似的东西:

@eval moduleName com.google.gwt.core.client.GWT.getModuleName();
.myBackground { background: url(moduleName + "images/background.png"); }

不幸的是,这种方法在编译期间会导致输出出现一些错误:

Line 46 column 30: encountered " ". Was expecting one of: <NUMBER> <PERCENTAGE>
<PT> <MM> <CM> <PC> <IN> <PX> <EMS> <EXS> <DEG> <RAD> <GRAD> <MS> <SECOND> <HZ>
<KHZ> <DIMEN> <FUNCTION>

注意:我知道,有 CSS Sprites,我在某些地方使用它,但在这种情况下我无法使它们正常工作,因为 GWT 围绕 CSS 提供了额外的样式信息 Sprite 与我需要的额外样式冲突。

最佳答案

你总是可以在某处添加一个静态函数:

public static String getBackgroundUrl(){
return com.google.gwt.core.client.GWT.getModuleName() + "/images/background.png";
}

在你的 CSS 中

@eval BG_URL com.yourclass.getBackgroundUrl();

.myBackground { background-url:BG_URL; }

关于css - 在 CssResource 中连接字符串以创建 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3791218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com