2012-06-26 17 views
19

el ejemplo Google/GWT de crear un ImageResource se entiende:GWT ImageResource se accede dentro de una propiedad CSS?

interface MyResources extends ClientBundle { 
    @Source("image.png") 
    ImageResource image(); 

    @Source("my.css"); 
    CssResource css(); 
} 

@sprite .myImage { 
    gwt-image: 'image'; 
} 

entiendo cómo utilizar y aplicar ImageResources nombres de estilo, sin embargo ...

En mi aplicación, tengo varios temas que se aplican a varios widgets usando css y enlace diferido. Así que he definido una regla css ('fondo') que me gustaría utilizar la clase .myImage, pero no hacer nada:

background { 
    background-attachment: fixed; 
    background-image: .myImage; //?? This is the question! 
    background-size: contain 
} 

¿Cuál es la sintaxis para usar la clase .myImage dentro del ' fondo 'css propiedad? Parece que debería ser capaz de especificar la clase .myImage como argumento para background-image.

Editar: Investigué un poco más y encontré la sintaxis correcta para hacer esto usando un DataResource.

MyClientBundle extends ClientBundle { 

    //Background Image 
    @Source("resources/background.png") 
    DataResource backgroundImage(); 

} 

(mypanel.css)

@url background backgroundImage; 

.myPanel { 
    border-radius: 0px; 
    background-color:#ffffff; 
    opacity:0.6; 
    background-image: background; 
} 
+1

Acabo de probar esto usando GWT 2.6 y puede usar un ImageResource en su ClientBundle y funcionará bien. Pensé que lo probaría, ya que me parece un poco mejor. – MattWeiler

+0

Por cierto, por lo que entiendo stackoverflow, creo que sería mejor publicar tu edición como respuesta a tu propia pregunta y aceptar tu respuesta. Tu pregunta ya no será una pregunta abierta. –

Respuesta

0

Si añade "myImage" como nombre de estilo a cualquier tipo de artilugio, fijará los widgets de fondo ...

-1

Se puede utilizar el estilo como este myResources.css.myImage. Me refiero a donde quieras usar el estilo en UiBinder, puedes usarlo usando la propiedad styleName con este valor.

En su caso, donde sea que esté aplicando la clase .myPanel, puede aplicar el styleName='myResources.css.myImage', para aplicar la imagen de fondo.

Si desea utilizar esto en Java (es decir, sin UiBinder), puede utilizar como este widget

MyResources myResources = GWT.create(MyResources.class); 
widget.setStyleName("myResources.css.myImage"); 

aquí es el objeto de la Widget, a la que desea aplicar el fondo.

Le recomiendo que mire este Explanation, para una mejor comprensión.

Cuestiones relacionadas