@Retention(value=RUNTIME) @Target(value=TYPE) @Documented @Repeatable(value=InternalContainerAnnotationForSS.class) public @interface StyleSheet
ClientConnector class, the
framework ensures the referenced style sheets are loaded before the init
method for the corresponding client-side connector is invoked.
Absolute URLs including protocol and host are used as is on the client-side. Relative URLs are mapped to APP/PUBLISHED/[url] which are by default served from the classpath relative to the class where the annotation is defined.
The file is only loaded if it has not already been loaded, determined as follows:
StyleSheet or if a
<link rel="stylesheet"> tag using the same URL was present in the DOM
when the Vaadin client-side was initialized.
StyleSheet, even if that file
was loaded from a different folder.
Special Vaadin urls are also supported. The most useful is vaadin:// which maps to the location of the automatically published VAADIN folder located on your classpath in your resources. Using the VAADIN folder and vaadin:// you can publish stylesheets which use images or other files with relative paths. Another example is the theme:// url which maps to the location of your current theme.
Example:
@StyleSheet({"https://host.com/file1.css", "file2.css"}) on the
class com.example.MyConnector would load the file https://host.com/file1.css
as is and file2.css from /com/example/file2.css on the server's classpath
using the ClassLoader that was used to load com.example.MyConnector.
For adding multiple style sheets for a single component, you can use this annotation multiple times.
public abstract String[] value
Copyright © 2021 Vaadin Ltd. All rights reserved.