afelix/csso — Issue #51: Нельзя склеивать неправильные селекторы
Author: kizu
Created: 2012-01-30 11:02:18+00:00
State: open

Нашли ошибку у себя в коде, которую смогли увидеть после сжатия.

Если есть селектор с запятой в конце (и, вероятно, большое количество подобных ошибочных селекторов), то ошибочно будет его подклеивать к правильным селекторам. Например, есть код

.a
{color: red;}
.b,
{color: red;}

CSSO выдаст

.a,.b,{color:red}

Кроме того, интересный момент: если тот же исходный код идёт в варианте без вайтспейсов между запятой и скобкой:

.a {color: red;}
.b,{color: red;}

То он склеивается с потерей ошибочной запятой:

.a,.b{color:red}

Во всех случаях лучше вообще не трогать блок с ошибочным селектором: склеивать нельзя т.к. перестанут работать правильные селекторы, удалять подобный ошибочный селектор может быть нежелательно т.к., скажем, IE их понимает (хотя я не видел, чтобы кто-то это использовал как хак).