Responsive Window
Environment
Product | Window for Blazor |
Description
When the user resizes the browser window you may want to have the window resized with the new dimensions, so it is also responsive.
Solution
The following examples show how you can make responsive Window:
Dimensions set in percent
Generally, the Width
and Height
parameters of the Window can take values in %
, vw
or vh
, and the window will render according to the dimensions of its parent element (which is the TelerikRootComponent
which should match the browser viewport).
Observe the behavior of a Window with set
Width
andHeight
in%
<TelerikWindow Modal="true"
Visible="true"
Width="40%"
Height="40%">
<WindowTitle>
<strong>The Title</strong>
</WindowTitle>
<WindowContent>
I am modal so the page behind me is not available to the user.
</WindowContent>
<WindowActions>
<WindowAction Name="Minimize" />
<WindowAction Name="Maximize" />
<WindowAction Name="Close" />
</WindowActions>
</TelerikWindow>
The
Width
andHeight
parameters render as inline CSS styles, meaning that they will have the highest priority. If you want to override them in a stylesheet (see below) you must use the!important
statement.
CSS media queries
You can change the dimensions of the window based on the viewport size through media queries, not only through percentage units.
If you want to use the CSS media queries, you have to create a separate CSS file under the wwwroot
folder. This is required because the media queries start with @
which conflicts with the Razor syntax. Technically, you could escape them as @@
.
Observe the behavior of a Window made responsive with media queries
Component:
@* The Class parameter is set to make cascading the styles easier *@
<TelerikWindow Modal="true"
Visible="true"
Class="myWindow">
<WindowTitle>
<strong>The Title</strong>
</WindowTitle>
<WindowContent>
I am modal so the page behind me is not available to the user.
</WindowContent>
<WindowActions>
<WindowAction Name="Minimize" />
<WindowAction Name="Maximize" />
<WindowAction Name="Close" />
</WindowActions>
</TelerikWindow>