Docs

Dialog Styling

Styling API reference for the Dialog component.

Style Variants

The following variants are supported:

Variant Description Supported by

no-padding

Used to remove the content area’s built-in padding

Aura, Lumo

Source code
DialogNoPadding.java
dialog-no-padding.tsx
dialog-no-padding.ts

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 Component Style Properties for more information on style properties.

Property Supported by

--vaadin-dialog-background

Aura

--vaadin-dialog-border-color

Aura

--vaadin-dialog-border-radius

Aura

--vaadin-dialog-border-width

Aura

--vaadin-dialog-max-width

Aura

--vaadin-dialog-min-width

Aura

--vaadin-dialog-overflow-indicator-color

Aura

--vaadin-dialog-overflow-indicator-height

Aura

--vaadin-dialog-padding

Aura

--vaadin-dialog-shadow

Aura

--vaadin-dialog-title-color

Aura

--vaadin-dialog-title-font-size

Aura

--vaadin-dialog-title-font-weight

Aura

--vaadin-dialog-title-line-height

Aura

--vaadin-overlay-backdrop-background

Aura

--vaadin-overlay-viewport-inset

Aura, Lumo

Animation

The overlay has a built-in opening and closing animation, which is disabled until an animation duration is set. The closed properties define the state that the overlay animates from when it opens, and to when it closes. The Aura theme sets these properties for some components. Lumo has its own overlay animations, which these properties don’t affect.

While an animation runs, the component has the opening or closing state attribute, so separate values can be applied to each direction. The backdrop always fades, and only the opacity is animated when the user prefers reduced motion.

Property Value syntax Initial value

--vaadin-overlay-animation-delay

<time>

0s

--vaadin-overlay-animation-duration

<time>

0s

--vaadin-overlay-animation-timing-function

<easing-function>

ease

--vaadin-overlay-opacity-closed

<number>

0

--vaadin-overlay-scale-closed

<number> or <percentage>

1

--vaadin-overlay-transform-closed

<transform-list>

none

--vaadin-overlay-translate-closed

<length>+ or <percentage>+

0px

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.

Important
Not for Shadow DOM
These selectors should be used in styles.css or another stylesheet loaded with the @StyleSheet annotation or the @import CSS rule. They do not work in the shadow DOM of Vaadin components, such as in stylesheets in the components sub-folder or loaded with the @CssImport annotation’s themeFor property.

Root element

vaadin-dialog

States

Non-modal

vaadin-dialog[modeless]

Dialog with header

vaadin-dialog[has-header]

Dialog with footer

vaadin-dialog[has-footer]

Resizable

vaadin-dialog[resizable]

Draggable

vaadin-dialog[draggable]

Parts

Modality curtain (backdrop)

vaadin-dialog::part(backdrop)

Dialog surface

vaadin-dialog::part(overlay)

Header

vaadin-dialog::part(header)

Title wrapper

vaadin-dialog::part(title)

Title element

vaadin-dialog > [slot="title"]

Header custom content wrapper

vaadin-dialog::part(header-content)

Content area

vaadin-dialog::part(content)

Footer

vaadin-dialog::part(footer)

Updated