Минимизация background-position
Если задано только одно свойство, то второе по дефолту становится равным 50%.
Это можно использовать так:
-
background-position:10px 50%→background-position:10px -
background-position:50% 0→background-position:top
И т.д.
P.S. Кстати, я заметил, что background с шорхендами и дефолтами вообще почти не оптимизируется — создать про это отдельный issue?
Не, не создавай. Я уже дважды всерьёз брался за оптимизацию shorthand и отступал — очень, очень много подводных камней. Там работы на месяц, при этом придётся наступить на все грабли. Пока рановато.
Ага, ок. А напишешь как-нибудь про всякие глабли? Интересно )
Исходный CSS может быть избыточным семантически, но коротким.
Навскидку:
.a, .b {
margin: 10px 11px 12px 13px
}
...
.b {
margin-left: 0
}
Здесь CSSO должен будет понять, что этот shorthand трогать не надо. И если человеку это очевидно, написать код, который уверенно знает, когда сокращать не стоит — ни разу не тривиально. В ряде случаев CSSO в интересах сокращения должен будет уметь вносить fake значения, чтобы потом их перекрыть — например, получить тот CSS, что выше, из вот такого:
.a {
margin: 10px 11px 12px 13px
}
...
.b {
margin: 10px 11px 12px 0
}
О, точно. С перекрытиями, действительно, не банально. Будет круто когда CSSO этому научится.