csso icon indicating copy to clipboard operation
csso copied to clipboard

Минимизация background-position

Open kizu opened this issue 14 years ago • 4 comments

Если задано только одно свойство, то второе по дефолту становится равным 50%.

Это можно использовать так:

  1. background-position:10px 50%background-position:10px
  2. background-position:50% 0background-position:top

И т.д.

P.S. Кстати, я заметил, что background с шорхендами и дефолтами вообще почти не оптимизируется — создать про это отдельный issue?

kizu avatar Sep 02 '11 17:09 kizu

Не, не создавай. Я уже дважды всерьёз брался за оптимизацию shorthand и отступал — очень, очень много подводных камней. Там работы на месяц, при этом придётся наступить на все грабли. Пока рановато.

afelix avatar Sep 02 '11 19:09 afelix

Ага, ок. А напишешь как-нибудь про всякие глабли? Интересно )

kizu avatar Sep 02 '11 23:09 kizu

Исходный 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
}

afelix avatar Sep 03 '11 07:09 afelix

О, точно. С перекрытиями, действительно, не банально. Будет круто когда CSSO этому научится.

kizu avatar Sep 03 '11 07:09 kizu