2012-06-26 9 views
19

Google/GWT esempio di creazione di un ImageResource è capito:GWT ImageResource accessibile all'interno di una proprietà CSS?

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

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

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

capisco come utilizzare ImageResources e applicare i nomi di stile, però ...

Nella mia applicazione, ho più temi che vengono applicati a vari widget utilizzando css e binding posticipato. Così ho definito una regola CSS ('background') che vorrei utilizzare la classe .myImage, ma non fa nulla:

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

Qual è la sintassi per utilizzando la classe .myImage all'interno del ' sfondo 'css proprietà? Sembra che dovrei essere in grado di specificare la classe .myImage come argomento per background-image.

Modifica: ha effettuato ulteriori ricerche e trovato la sintassi corretta per eseguire l'operazione utilizzando 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

Ho appena testato questo utilizzando GWT 2.6 e puoi utilizzare ImageResource nel tuo ClientBundle e funzionerà altrettanto bene. Ho appena pensato di fare un tentativo poiché sembra un po 'più bello per me. – MattWeiler

+0

Btw., Per quanto comprendo StackOverflow, penso che sarebbe meglio pubblicare la tua modifica come risposta alla tua stessa domanda e accettare la tua risposta. La tua domanda non sarà più una domanda aperta. –

risposta

0

Se si aggiunge "myImage", come nome dello stile a qualsiasi widget di, imposterà sfondo quei widget ...

-1

È possibile utilizzare lo stile come questo myResources.css.myImage. Intendo ovunque tu voglia usare lo stile in UiBinder puoi usarlo usando la proprietà styleName con questo valore.

Nel caso in cui si stia applicando la classe .myPanel, è possibile applicare styleName='myResources.css.myImage' per applicare l'immagine di sfondo.

Se si desidera utilizzare questo in Java (vale a dire, senza UiBinder), è possibile utilizzare come questo widget

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

qui è l'oggetto del Widget, a cui si desidera applicare lo sfondo.

Vi consiglio di guardare questo Explanation, per una chiara comprensione.

Problemi correlati