csso icon indicating copy to clipboard operation
csso copied to clipboard

Wrong css property applied after restructuring

Open tomasz1986 opened this issue 3 years ago • 0 comments

Before:

bdo[dir="ltr"]  { direction: ltr; unicode-bidi: bidi-override }
bdo[dir="rtl"]  { direction: rtl; unicode-bidi: bidi-override }

*[dir="ltr"]    { direction: ltr; unicode-bidi: embed }
*[dir="rtl"]    { direction: rtl; unicode-bidi: embed }

After:

bdo[dir=ltr] {
    direction: ltr
}

bdo[dir=ltr],bdo[dir=rtl] {
    unicode-bidi: bidi-override
}

[dir=ltr],[dir=rtl] {
    direction: ltr;
    unicode-bidi: embed
}

[dir=rtl],bdo[dir=rtl] {
    direction: rtl
}

The problem is

[dir=ltr],[dir=rtl] {
    direction: ltr;
    unicode-bidi: embed
}

Why is direction: ltr applied to [dir=rtl] here?

Tested with http://css.github.io/csso/csso.html v5.0.4.

Edit:

Interestingly, if I take the processed code from above and keep processing it with CSSO several more times (with restructuring enabled), then the final version is correct.

[dir=ltr],bdo[dir=ltr] {
    direction: ltr
}

bdo[dir=ltr],bdo[dir=rtl] {
    unicode-bidi: bidi-override
}

[dir=ltr],[dir=rtl] {
    unicode-bidi: embed
}

[dir=rtl],bdo[dir=rtl] {
    direction: rtl
}

tomasz1986 avatar Aug 08 '22 13:08 tomasz1986