Opened 7 years ago

Closed 5 years ago

#6168 closed Bug (fixed)

Multiple styles lost when changing coreStyles_underling to use <span> with inline style

Reported by: Steven Wood Owned by: Garry Yao
Priority: Normal Milestone: CKEditor 3.6.5
Component: Core : Styles Version: 3.4
Keywords: IBM Cc: Lynne Kues

Description (last modified by Krzysztof Studnik)

I changed the editor configuration object so that instead of inserting a <u> for underline, it inserts a <span> with an inline style :

coreStyles_underline: {
         element: "span", 
         attributes : {style: "text-decoration: underline"}
}

This works great except that when you apply this to an element that has had e.g. it's font size increased, the "underline" span replaces the font size one, effectively losing that style.

To reproduce - create an editor with the configuration modified as above, enter some text, either change the font family or font size of the text, then underline the text.

Attachments (2)

autogrow.html (2.8 KB) - added by Steven Wood 7 years ago.
6168.patch (791 bytes) - added by Garry Yao 5 years ago.

Download all attachments as: .zip

Change History (8)

Changed 7 years ago by Steven Wood

Attachment: autogrow.html added

comment:1 in reply to:  description Changed 7 years ago by Steven Wood

Attached modified version of the "autogrow" sample provided with the editor to show the problem.

comment:2 Changed 7 years ago by Krzysztof Studnik

Component: GeneralCore : Styles
Description: modified (diff)
Keywords: IBM added; ibm removed
Status: newpending

I Confirmed this issue. Do You mean that it should work like this:

<span style="font-size: 16px; text-decoration: underline ">
This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.
?

</span>

Instead of:

<span style="font-size: 16px; ">
<span style="text-decoration: underline">
This is some <strong>sample text</strong>. You are using <a href="http://ckeditor.com/">CKEditor</a>.
?

</span>

?

</span>

comment:3 Changed 7 years ago by Steven Wood

Hi,

What i see is that when I apply the text size, the DOM contains this :

<span style="font-size: 24px;">

Text <br type="_moz">

</span>

The, when i click the U button to apply underline (where the core style is modified to use a span) the DOM becomes : -

<span style="text-decoration: underline;">

Text <br type="_moz">

</span>

What i would have hoped to see is :

<span style="font-size: 24px;">

<span style="text-decoration: underline;">

Text

</span> <br type="_moz">

</span>

So the spans are nested, whereas at present one seems to replace the other.

thanks, Steve.

Changed 5 years ago by Garry Yao

Attachment: 6168.patch added

comment:4 Changed 5 years ago by Garry Yao

Milestone: CKEditor 3.6.5
Owner: set to Garry Yao
Status: pendingreview

The styles specified as inline attribute, should be resolved as the same with definition.styles.

comment:5 Changed 5 years ago by Frederico Caldeira Knabben

Status: reviewreview_passed

Please have a test for this when committing.

comment:6 Changed 5 years ago by Garry Yao

Resolution: fixed
Status: review_passedclosed

Fixed with [7599].

Note: See TracTickets for help on using tickets.
© 2003 – 2017 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy