How can I help you?
Styles and Appearances in Blazor SplitButton Component
25 Jun 20269 minutes to read
To modify the SplitButton appearance, override the component’s default CSS. The following table lists key CSS classes and their purposes. To scope changes to a specific instance, add a custom class through the CssClass property and target that class in styles. A custom theme can also be created using the Theme Studio.
CSS classes
| CSS Class | Purpose |
|---|---|
.e-split-btn-wrapper |
Targets the outer wrapper element that contains both the primary button and the dropdown arrow button. |
.e-split-btn |
Targets the primary (left) button part of the SplitButton that displays the label. |
.e-dropdown-btn |
Targets the secondary dropdown (right) button that contains the caret arrow icon. |
.e-btn-icon.e-caret |
Targets the caret/arrow icon inside the dropdown button. |
.e-dropdown-popup |
Targets the popup container that appears when the dropdown arrow is clicked. |
.e-dropdown-popup ul .e-item |
Targets individual items in the dropdown popup list. |
.e-dropdown-popup ul .e-item .e-menu-icon |
Targets the icon displayed inside each popup menu item. |
.e-dropdown-popup ul .e-item:hover |
Targets a popup item in its hovered state. |
.e-split-btn.e-active |
Targets the primary button when it is in an active/pressed state. |
.e-dropdown-btn.e-active |
Targets the dropdown button when the popup is open (active state). |
Customizing the SplitButton appearance
Customizing the primary button
The primary button area of the SplitButton is represented by the .e-split-btn CSS class. Use this class to change the background color, font, border, padding, and other visual properties of the main button.
@using Syncfusion.Blazor.SplitButtons
<SfSplitButton Content="Paste" CssClass="custom-split">
<DropDownMenuItems>
<DropDownMenuItem Text="Cut"></DropDownMenuItem>
<DropDownMenuItem Text="Copy"></DropDownMenuItem>
<DropDownMenuItem Text="Paste"></DropDownMenuItem>
</DropDownMenuItems>
</SfSplitButton>
<style>
.custom-split .e-split-btn {
background-color: #4a90d9;
color: #ffffff;
border-color: #357abd;
font-weight: 600;
border-radius: 4px 0 0 4px;
}
.custom-split .e-split-btn:hover {
background-color: #357abd;
border-color: #2a6099;
}
</style>Customizing the dropdown arrow button
The dropdown (caret) button is represented by the .e-dropdown-btn class. It can be styled independently from the primary button to create a visual distinction between the two parts.
@using Syncfusion.Blazor.SplitButtons
<SfSplitButton Content="Paste" CssClass="custom-split">
<DropDownMenuItems>
<DropDownMenuItem Text="Cut"></DropDownMenuItem>
<DropDownMenuItem Text="Copy"></DropDownMenuItem>
<DropDownMenuItem Text="Paste"></DropDownMenuItem>
</DropDownMenuItems>
</SfSplitButton>
<style>
.custom-split .e-dropdown-btn {
background-color: #357abd;
color: #ffffff;
border-color: #2a6099;
border-radius: 0 4px 4px 0;
}
.custom-split .e-dropdown-btn:hover {
background-color: #2a6099;
}
.custom-split .e-btn-icon.e-caret {
font-size: 12px;
color: #ffffff;
}
</style>Customizing the popup and its items
The popup container is represented by .e-dropdown-popup and each menu item within it is represented by .e-dropdown-popup ul .e-item. These classes are used to change the popup background, item padding, font, and hover styles.
@using Syncfusion.Blazor.SplitButtons
<SfSplitButton Content="Paste" CssClass="custom-split">
<DropDownMenuItems>
<DropDownMenuItem Text="Cut" IconCss="e-icons e-cut"></DropDownMenuItem>
<DropDownMenuItem Text="Copy" IconCss="e-icons e-copy"></DropDownMenuItem>
<DropDownMenuItem Text="Paste" IconCss="e-icons e-paste"></DropDownMenuItem>
</DropDownMenuItems>
</SfSplitButton>
<style>
.custom-split.e-dropdown-popup {
background-color: #f5f9ff;
border: 1px solid #c0d8f0;
border-radius: 4px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}
.custom-split.e-dropdown-popup ul .e-item {
color: #333333;
padding: 8px 16px;
font-size: 14px;
}
.custom-split.e-dropdown-popup ul .e-item:hover {
background-color: #ddeeff;
color: #1a5fa8;
}
.custom-split.e-dropdown-popup ul .e-item .e-menu-icon {
color: #4a90d9;
margin-right: 8px;
font-size: 16px;
}
</style>Customizing with the CssClass property
The CssClass property adds a custom CSS class to the SplitButton’s root element, which scopes all style overrides to that specific instance without affecting other SplitButton components on the page.
@using Syncfusion.Blazor.SplitButtons
<SfSplitButton Content="Download" CssClass="success-split">
<DropDownMenuItems>
<DropDownMenuItem Text="PDF"></DropDownMenuItem>
<DropDownMenuItem Text="Excel"></DropDownMenuItem>
<DropDownMenuItem Text="CSV"></DropDownMenuItem>
</DropDownMenuItems>
</SfSplitButton>
<SfSplitButton Content="Delete" CssClass="danger-split">
<DropDownMenuItems>
<DropDownMenuItem Text="Selected items"></DropDownMenuItem>
<DropDownMenuItem Text="All items"></DropDownMenuItem>
</DropDownMenuItems>
</SfSplitButton>
<style>
/* Success variant */
.success-split .e-split-btn,
.success-split .e-dropdown-btn {
background-color: #28a745;
color: #ffffff;
border-color: #1e7e34;
}
.success-split .e-split-btn:hover,
.success-split .e-dropdown-btn:hover {
background-color: #1e7e34;
}
/* Danger variant */
.danger-split .e-split-btn,
.danger-split .e-dropdown-btn {
background-color: #dc3545;
color: #ffffff;
border-color: #bd2130;
}
.danger-split .e-split-btn:hover,
.danger-split .e-dropdown-btn:hover {
background-color: #bd2130;
}
</style>Customizing the font
The font family, font size, font weight, and letter spacing of both the button label and popup items can be customized using CSS. Apply changes to .e-split-btn for the primary button text, and to .e-dropdown-popup ul .e-item for the popup item text.
@using Syncfusion.Blazor.SplitButtons
<SfSplitButton Content="Export" CssClass="font-split">
<DropDownMenuItems>
<DropDownMenuItem Text="PDF"></DropDownMenuItem>
<DropDownMenuItem Text="Excel"></DropDownMenuItem>
<DropDownMenuItem Text="CSV"></DropDownMenuItem>
</DropDownMenuItems>
</SfSplitButton>
<style>
/* Font customization for the primary button label */
.font-split .e-split-btn {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.5px;
text-transform: uppercase;
}
/* Font customization for popup menu items */
.font-split.e-dropdown-popup ul .e-item {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 14px;
font-weight: 500;
letter-spacing: 0.3px;
}
/* Font style on hover */
.font-split.e-dropdown-popup ul .e-item:hover {
font-weight: 700;
}
</style>Customizing the width
The width of the SplitButton’s primary button part and the dropdown popup can be set using the min-width or width properties. Target .e-split-btn for the primary button width and .e-dropdown-popup for the popup width.
@using Syncfusion.Blazor.SplitButtons
<SfSplitButton Content="Export" CssClass="width-split">
<DropDownMenuItems>
<DropDownMenuItem Text="PDF"></DropDownMenuItem>
<DropDownMenuItem Text="Excel"></DropDownMenuItem>
<DropDownMenuItem Text="CSV"></DropDownMenuItem>
</DropDownMenuItems>
</SfSplitButton>
<style>
/* Set a fixed width on the primary button */
.width-split .e-split-btn {
min-width: 120px;
text-align: center;
}
/* Set a minimum width on the popup container */
.width-split.e-dropdown-popup {
min-width: 160px;
}
/* Make popup items fill the full popup width */
.width-split.e-dropdown-popup ul .e-item {
width: 100%;
box-sizing: border-box;
padding: 8px 16px;
}
</style>