UNPKG

@ckeditor/ckeditor5-table

Version:

Table feature for CKEditor 5.

85 lines (72 loc) 2.88 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 */ .ck-content .table { /* Give the table widget some air and center it horizontally */ /* The first value should be equal to --ck-spacing-large variable if used in the editor context to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */ margin: 0.9em auto; display: table; & table { /* The table cells should have slight borders */ border-collapse: collapse; border-spacing: 0; /* Table width and height are set on the parent <figure>. Make sure the table inside stretches to the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */ width: 100%; height: 100%; /* The outer border of the table should be slightly darker than the inner lines. Also see https://github.com/ckeditor/ckeditor5-table/issues/50. */ border: 1px double hsl(0, 0%, 70%); & td, & th { min-width: 2em; padding: .4em; /* The border is inherited from .ck-editor__nested-editable styles, so theoretically it's not necessary here. However, the border is a content style, so it should use .ck-content (so it works outside the editor). Hence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */ border: 1px solid hsl(0, 0%, 75%); } & th { font-weight: bold; background: hsla(0, 0%, 0%, 5%); } } } /** * Expanding the table to the full height of the parent container is necessary because tables * are rendered inside <figure> elements, which is kinda buggy in table height calculation. * While setting `height: 100%` fixes the issue in the editing mode described here: * https://github.com/ckeditor/ckeditor5/issues/6186 * * it's causing another issue with the table height in the print preview mode here: * https://github.com/ckeditor/ckeditor5/issues/16856 * * For now, resetting the height to `initial` in the print mode works as a workaround. */ @media print { .ck-content .table table { height: initial; } } /* Text alignment of the table header should match the editor settings and override the native browser styling, when content is available outside the editor. See https://github.com/ckeditor/ckeditor5/issues/6638 */ .ck-content[dir="rtl"] .table th { text-align: right; } .ck-content[dir="ltr"] .table th { text-align: left; } .ck-editor__editable .ck-table-bogus-paragraph { /* * Use display:inline-block to force Chrome/Safari to limit text mutations to this element. * See https://github.com/ckeditor/ckeditor5/issues/6062. */ display: inline-block; /* * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width. * See https://github.com/ckeditor/ckeditor5/issues/9117. */ width: 100%; }