@ckeditor/ckeditor5-ui
Version:
The UI framework and standard UI library of CKEditor 5.
96 lines (80 loc) • 2.15 kB
CSS
/*
* Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
*/
:root {
--ck-dropdown-max-width: 75vw;
}
.ck.ck-dropdown {
display: inline-block;
position: relative;
& .ck-dropdown__arrow {
pointer-events: none;
z-index: var(--ck-z-default);
}
/* Dropdown button should span horizontally, e.g. in vertical toolbars */
& .ck-button.ck-dropdown__button {
width: 100%;
}
& .ck-dropdown__panel {
display: none;
z-index: var(--ck-z-panel);
max-width: var(--ck-dropdown-max-width);
position: absolute;
&.ck-dropdown__panel-visible {
display: inline-block;
}
&.ck-dropdown__panel_ne,
&.ck-dropdown__panel_nw,
&.ck-dropdown__panel_n,
&.ck-dropdown__panel_nmw,
&.ck-dropdown__panel_nme {
bottom: 100%;
}
&.ck-dropdown__panel_se,
&.ck-dropdown__panel_sw,
&.ck-dropdown__panel_smw,
&.ck-dropdown__panel_sme,
&.ck-dropdown__panel_s {
/*
* Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.
* See https://github.com/ckeditor/ckeditor5/issues/1053.
*/
top: 100%;
bottom: auto;
}
&.ck-dropdown__panel_ne,
&.ck-dropdown__panel_se {
left: 0px;
}
&.ck-dropdown__panel_nw,
&.ck-dropdown__panel_sw {
right: 0px;
}
&.ck-dropdown__panel_s,
&.ck-dropdown__panel_n {
/* Positioning panels relative to the center of the button */
left: 50%;
transform: translateX(-50%);
}
&.ck-dropdown__panel_nmw,
&.ck-dropdown__panel_smw {
/* Positioning panels relative to the middle-west of the button */
left: 75%;
transform: translateX(-75%);
}
&.ck-dropdown__panel_nme,
&.ck-dropdown__panel_sme {
/* Positioning panels relative to the middle-east of the button */
left: 25%;
transform: translateX(-25%);
}
}
}
/*
* Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.
* See https://github.com/ckeditor/ckeditor5/issues/7874
*/
.ck.ck-toolbar .ck-dropdown__panel {
z-index: calc( var(--ck-z-panel) + 1 );
}