Styling changes - General components
Breadcrumbs
Breadcrumbs in administration components use the administration interface markup — a .breadcrumbs-dialog wrapper containing a .breadcrumb unordered list.
The Breadcrumbs web part still uses the same markup as in Kentico 7 — no wrapper (can be added via Content before and after properties) and a list of links with the .CMSBreadCrumbsLink class.
Buttons
In Kentico 8, all buttons have the .btn class inherited from bootstrap. If you combine .btn with other classes in stronger selectors, you may affect the design of header action buttons on the Page and Design tab in the Pages application. To deal with this problem:
- Do not use classes from the page body (like
.ContentBodyor browser type classes) combined with.btnin CSS selectors - Use the header action button wrapper class and overwrite the changed properties for
.cms-edit-menu .btnto the default values
Calendar
Kentico 8 brings several changes to the calendar used for date and time selection:
The month switching arrows were moved just after the drop-down lists for month and year selection in the markup.
Icons were switched to font icons.
The following classes were added to the markup:
Kentico 7
Kentico 8
month and year wrapper
.control-group-inline
month and year dropdowns
.form-control, .input-width-20
time input table
.datetime-ui-time-input
Dialogs
Dialogs do not use consistent markup and styling on the live site. Administration components may have additional styles:
|
Live site and Semi-admin components |
Admin components |
|
|
header - wrapper |
.dialog-header .non-selectable |
.dialog-header |
|
header - actions |
hidden |
.dialog-header-action-buttons |
|
header - action button |
hidden |
.action-button / .close-button |
|
header - title |
.dialog-header-title |
|
|
content - wrapper |
.PageContent |
.dialog-content |
|
footer - wrapper |
.PageFooterLine |
.dialog-footer |
Dropdown menu and toggle button
If your site’s CSS interferes with the administration interface context menu (for example displayed by right-clicking groups in the Groups viewer web part), try to use the following code to fix the menu:
.dropdown-menu li {
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}
To modify the background color of the active dropdown toggle button, use the .open .btn.dropdown-toggle selector with the !important directive or the .btn-actions .btn-group.open .btn.icon-only.dropdown-toggle selector.
For styling the borders between the buttons in .btn-group, use .btn-group > .btn:not(:last-child):not(.dropdown-toggle) { border-right: 1px solid #YOURCOLOR; }
Note: This is considered as a semi-administration component (not supported in Internet Explorer versions older than 9).
To fix the height of the dropdown toggle button in .btn-actions, set .dropdown-toggle { line-height: normal; }
Error labels
To style error labels displayed on your live site, use one of the following CSS selectors:
.ContentBody .form-control-error.ContentBody .ErrorLabel.ContentBody .LineErrorLabel.ContentBody .EditingFormErrorLabel
Forms
Kentico 8 completely redesigns the default layout of forms (inspired by bootstrap). Most forms now use a <div> based layout.
- The whole form is wrapped in the
.form-horizontalclass - Form rows (containing the title label, input and validation label) are represented by the
.form-groupclass- The title label is wrapped by the
.editing-form-label-cellclass - The input (for example a textbox, dropdown or radio button list) and optional validation label are wrapped by the
.editing-form-value-cellclass
- The title label is wrapped by the
<div class="form-horizontal">
<div class="form-group">
<div class="editing-form-label-cell">
Field label
</div>
<div class="editing-form-value-cell">
Field input
</div>
</div>
<div class="form-group">
<div class="editing-form-label-cell">
Another field label
</div>
<div class="editing-form-value-cell">
Another field input
</div>
</div>
</div>
If you notice a large space above the form when using Skin.css, it might be caused by the clear property set for .form-group:after by the .clearfix() mixin in Skin.less. Adding the .form-horizontal .form-group:after { clear:none; } rule to your CSS should solve the issue.
|
Kentico 7 |
Kentico 8 |
|
|
textbox |
.TextBoxField |
input[type=“text”].form-control |
|
textarea |
.TextAreaField |
textarea.form-control |
|
non-editable value |
.LabelField |
.form-control-text |
|
table layout label |
.EditingFormLabelCell |
.FieldLabel |
|
password strength indicator wrapper |
.PasswStrenghtIndicator |
.password-strength |
You may need to add the following styles to your stylesheet to align the labels and text inside the form:
.control-label {
display: inline-block;
padding-right: 16px;
margin-top: 6px;
}
.form-control-text {
margin-top: 6px;
display: inline-block;
}
Filters
The structure of advanced filters is now based on the form markup (see Forms). The .form-horizontal wrapper has an additional class: .form-filter
Icons
We recommend using default padding (6px) for the .icon-only class to display buttons that only contain an icon.
Logon web part
|
Kentico 7 |
Kentico 8 |
|
|
textbox |
.LogonField |
.logon input[type=“text”], .logon input[type=“password”] |
|
submit button |
.logon button[type=“submit”] |
.logon input[type=“submit”] |
Rating stars
If your site uses stars for content rating, use the following selectors to style the size:
.rating-star { font-size: 8px !important; /* this is the space between stars */ }.rating-star:before { font-size: 16px; /* this is the star */ }
Search box
Search box styling is now based on the .form-horizontal class (see Forms). In Skin.css, the default width of the class is 660px. If you encounter problems with search box styling, we recommend one of the following solutions:
- Remove the rule
.form-horizontal { width: @screen-tablet; }fromSkin.less(affects all sites on the instance) - Use a stronger selector (at least 3 classes or the
!importantdirective) to overwrite the.ContentBody .form-horizontal { width: 660px; }rule inSkin.css(for example, wrap the search box into the.searchTextModeclass and set the width for.ContentBody .searchTextMode .form-horizontal)
Shopping cart
Kentico 8 introduces a new customizable checkout process. The old checkout process managed by the Checkout process web part is still supported, but the web part’s markup is slightly different. See Shopping cart - old for a list of selectors used to style the shopping cart content table.
To learn about the new Kentico 8 checkout process, see Checkout process.
Tables
Tables can be found in many parts of the Kentico 8 administration interface, as well as several live site components (for example the My account web part - Subscriptions, Addresses, Messages). The tables are implemented by the UniGrid control, but referred to as tables here, because the final HTML output are <table> elements.
- Tables are wrapped by the
.unigridand.unigrid-contentclasses. - The actual table elements use the
.table .table\-hoverclasses. - The table header row is represented by the
.unigrid\-headclass inthead. - Other rows use classes depending on the type of the content, for example:
.ArrowIcon,.FileTypeIcon,.RowContent
Table actions
For tables with a selection option, the selection action is a check box with the .unigrid-selection class applied.
Other actions, such as delete, view, reply are wrapped in the .unigrid\-actions class. If there are additional actions in the context menu, the .unigrid-actionmenu wrapper class is used.
Context menu
If available, the context menu is located in a <div> element below the table, wrapped by the .ContextMenu and .cms\-bootstrap classes. Items in the menu are <span> elements with the .Name class and image removed, wrapped in .ItemPadding.
Paging
The table pager contains the following blocks:
- List - an unordered list of page numbers, with the
.pagination\-listclass. The link to the currently active page is marked by the.activeclass. - Pages - a selector wrapped by the
.pagination-pagesclass. - Items per page - a selector wrapped by the
.pagination\-items\-per\-pageclass.
Mass actions
Some tables allow users to perform mass actions that affect the listed items. Mass actions are offered using form-like markup:
- The mass action form is wrapped in the
.form\-horizontal .mass\-actionclasses. - Each row has its
.form-group - Selectors and the confirmation button are wrapped in
.mass\-action\-value\-cell``.
Tabs
There are currently two types of tab headers and tab content wrappers:
.TabContainer+.TabBody.TabsHeader+.TabsContent
.TabBody or .TabsContent identifies the content of the currently displayed tab.
.TabContainer or .TabsHeader contains the list of all selectable tabs.
In some cases, the old markup of tab names was replaced by the bootstrap-based structure used in the administration interface:
<div class="nav-tabs-container-horizontal">
<ul class="nav nav-tabs">
<li class="active"><span class="tab-title">Inbox</span></a></li>
<li><a class="Link" href="..." target="_self"><span class="tab-title">Outbox</span></a></li>
<li><a class="Link" href="..." target="_self"><span class="tab-title">Contact list</span></a></li>
</ul>
</div>
Tree view
Kentico 8 slightly changes the Tree view control (for example used by the Tree view web part or the category tree).
Font icons are used instead of images — <i> elements placed before the tree element links. The <i> elements have a class assigned, which determines the displayed font icon, for example .icon\-doc. The system loads the core-icons font for this purpose from the ~/App_Themes/Default/Fonts folder.