Card
- Card
- Styling
Style Variants
The Card component supports the following style variants:
new tab
Card cardDefault = new Card();
Card cardOutlined = new Card();
cardOutlined.addThemeVariants(CardVariant.LUMO_OUTLINED);
Card cardElevated = new Card();
cardElevated.addThemeVariants(CardVariant.LUMO_ELEVATED);
Horizontal
Place all card content on the side of the media element, if provided.
new tab
Card card = new Card();
card.addThemeVariants(CardVariant.LUMO_HORIZONTAL);
card.setMedia(new Avatar("Lapland"));
card.setTitle(new Div("Lapland"));
card.setSubtitle(new Div("The Exotic North"));
card.add("Lapland is the northern-most region of Finland and an active outdoor destination.");
Stretch Media
Stretches the media element as wide – or tall, if combined with the horizontal variant – as the card, if the media element is an image, video, or an icon.
new tab
// Card with stretched image
Card imageCard = new Card();
imageCard.addThemeVariants(CardVariant.LUMO_STRETCH_MEDIA);
StreamResource imageResource = new StreamResource("lapland.avif",
() -> getClass().getResourceAsStream("/images/lapland.avif"));
Image image = new Image(imageResource, "");
imageCard.setMedia(image);
imageCard.setTitle(new Div("Lapland"));
imageCard.setSubtitle(new Div("The Exotic North"));
imageCard.add("Lapland is the northern-most region of Finland and an active outdoor destination.");
// Card with stretched icon
Card iconCard = new Card();
iconCard.addThemeVariants(CardVariant.LUMO_STRETCH_MEDIA);
Icon icon = LumoIcon.PHOTO.create();
icon.getStyle()
.setColor("var(--lumo-primary-color)")
.setBackgroundColor("var(--lumo-primary-color-10pct)");
iconCard.setMedia(icon);
iconCard.setTitle(new Div("Lapland"));
iconCard.setSubtitle(new Div("The Exotic North"));
iconCard.add("Lapland is the northern-most region of Finland and an active outdoor destination.");
Cover Media
Similar to the stretch-media variant, but this variant allows the media element to also cover the padding area of the card. This variant overrides the stretch-media variant.
new tab
// Card with cover image
Card imageCard = new Card();
imageCard.addThemeVariants(CardVariant.LUMO_COVER_MEDIA);
StreamResource imageResource = new StreamResource("lapland.avif",
() -> getClass().getResourceAsStream("/images/lapland.avif"));
Image image = new Image(imageResource, "");
imageCard.setMedia(image);
imageCard.setTitle(new Div("Lapland"));
imageCard.setSubtitle(new Div("The Exotic North"));
imageCard.add("Lapland is the northern-most region of Finland and an active outdoor destination.");
// Card with cover icon
Card iconCard = new Card();
iconCard.addThemeVariants(CardVariant.LUMO_COVER_MEDIA);
Icon icon = LumoIcon.PHOTO.create();
icon.getStyle()
.setColor("var(--lumo-primary-color)")
.setBackgroundColor("var(--lumo-primary-color-10pct)");
iconCard.setMedia(icon);
iconCard.setTitle(new Div("Lapland"));
iconCard.setSubtitle(new Div("The Exotic North"));
iconCard.add("Lapland is the northern-most region of Finland and an active outdoor destination.");
Combine Variants
You can combine all style variants together.
new tab
Card card = new Card();
card.addThemeVariants(
CardVariant.LUMO_OUTLINED,
CardVariant.LUMO_ELEVATED,
CardVariant.LUMO_HORIZONTAL,
CardVariant.LUMO_COVER_MEDIA
);
StreamResource imageResource = new StreamResource("lapland.avif",
() -> getClass().getResourceAsStream("/images/lapland.avif"));
Image image = new Image(imageResource, "");
image.setWidth("200px");
card.setMedia(image);
card.setTitle(new Div("Lapland"));
card.setSubtitle(new Div("The Exotic North"));
card.add(new Div("Lapland is the northern-most region of Finland and an active outdoor destination."));
Style Properties
The following style properties can be used in CSS stylesheets to customize the appearance of this component.
To apply values to these properties globally in your application UI, place them in a CSS block using the html {…}
selector.
See Lumo Style Properties for more information on style properties.
Common Properties
Feature | Property | Default Value |
---|---|---|
Background |
|
|
Box Shadow |
|
|
Border Width |
|
|
Border Color |
|
|
Border Radius |
|
|
Padding |
|
|
Gap |
|
|
Media Aspect Ratio |
|
|
CSS Selectors
The following CSS selectors can be used in stylesheets to target the various parts and states of the component. See the Styling documentation for more details on how to style components.
- Root element
-
vaadin-card