首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT和使用@ CssResource支持大屏幕和小屏幕

GWT和使用@ CssResource支持大屏幕和小屏幕
EN

Stack Overflow用户
提问于 2012-11-06 01:57:53
回答 4查看 2.3K关注 0票数 4

我正在使用GWT的ClientBundle和CssResource来拉入我的css定义。

我想根据屏幕大小来设置视口。您知道如何在CssResource中实现这一点吗?

我失败的尝试。为了便于测试,我改为使用背景阴影。但对于所有设备来说,背景都是绿色的。

代码语言:javascript
复制
body {background-color:green;}

@media only screen and (max-width:480px) {
body {background-color:red;}
}

GWT v2.5编译器发出警告:警告行x列12:遇到"screen“。需要以下值之一:"{“",”

这只是一个警告,但在这种情况下,它是不可忽视的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-06 17:38:44

如果这是一个小小的改变,你可以使用@eval作为变通方法,如下所示

代码语言:javascript
复制
@eval BG_COLOR com.google.gwt.user.client.Window.getClientWidth()<480?"red":"green";  

body {background-color:BG_COLOR;}
票数 3
EN

Stack Overflow用户

发布于 2013-04-05 23:13:59

GWT v2.5不支持媒体查询。如果你想使用它,你必须做一个变通方法:

客户端捆绑包界面中的

  • 将源css标记为TextResource:

@Source("mycss.css") TextResource myCss();

  • 转到您的entryPoint类并注入您的资源:

StyleInjector.inject(AppBundle.INSTANCE.carouselCss().getText());

这样做,您将失去从CssResource扩展的接口MyCss,该接口允许您从UIBinder调用css类,等等。但是,至少你可以使用媒体查询。

票数 4
EN

Stack Overflow用户

发布于 2014-01-07 20:45:42

CSS2 @media rules (例如@media print { /* ... */ })的支持是added to GWT 2.5.1。但是,目前还不支持CSS3 @media规则;这就是Issue 8162 - CSSResource and CSS3

一个不错的变通方法是将“唯一的屏幕和(max-width:480px)”CSS放入一个单独的文件中,并在@ suggested by Bart Guijt规则中动态地注入生成的CSS文本。

如果您有:

代码语言:javascript
复制
public interface MyResources extends ClientBundle {
    @Source("my.css")
    public MyCssResource desktopCss();

    @Source("my-mobile.css")
    public MyCssResource mobileCss();
}

然后在您的EntryPoint中添加:

代码语言:javascript
复制
final MyResources resources = GWT.create(MyResources.class);
StyleInjector.injectAtEnd("@media only screen and (max-width:480px) {" +
            resources.mobileCss().getText() +
        "}");

这与解决suggested by user1311201TextResource变通方法类似,但是增加了一个好处,即您可以使用混淆的CSS类名和其他CssResource特性。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13237680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档