UNPKG

@ckeditor/ckeditor5-table

Version:

Table feature for CKEditor 5.

68 lines (57 loc) 2.53 kB
/* * 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-color-selector-column-resizer-hover: var(--ck-color-base-active); --ck-table-column-resizer-width: 7px; /* The offset used for absolute positioning of the resizer element, so that it is placed exactly above the cell border. The value is: minus half the width of the resizer decreased additionaly by the half the width of the border (0.5px). */ --ck-table-column-resizer-position-offset: calc(var(--ck-table-column-resizer-width) * -0.5 - 0.5px); } .ck-content .table .ck-table-resized { table-layout: fixed; } .ck-content .table table { overflow: hidden; } .ck-content .table td, .ck-content .table th { /* To prevent text overflowing beyond its cell when columns are resized by resize handler (https://github.com/ckeditor/ckeditor5/pull/14379#issuecomment-1589460978). */ overflow-wrap: break-word; position: relative; } .ck.ck-editor__editable .table .ck-table-column-resizer { position: absolute; top: 0; bottom: 0; right: var(--ck-table-column-resizer-position-offset); width: var(--ck-table-column-resizer-width); cursor: col-resize; user-select: none; z-index: var(--ck-z-default); } .ck.ck-editor__editable.ck-column-resize_disabled .table .ck-table-column-resizer { display: none; } /* The resizer elements, which are extended to an extremely high height, break the drag & drop feature in Chrome. To make it work again, all resizers must be hidden while the table is dragged. */ .ck.ck-editor__editable .table[draggable] .ck-table-column-resizer { display: none; } .ck.ck-editor__editable .table .ck-table-column-resizer:hover, .ck.ck-editor__editable .table .ck-table-column-resizer__active { background-color: var(--ck-color-selector-column-resizer-hover); opacity: 0.25; /* The resizer element resides in each cell so to occupy the entire height of the table, which is unknown from a CSS point of view, it is extended to an extremely high height. Even for screens with a very high pixel density, the resizer will fulfill its role as it should, i.e. for a screen of 476 ppi the total height of the resizer will take over 350 sheets of A4 format, which is totally unrealistic height for a single table. */ top: -999999px; bottom: -999999px; } .ck.ck-editor__editable[dir=rtl] .table .ck-table-column-resizer { left: var(--ck-table-column-resizer-position-offset); right: unset; }