csso icon indicating copy to clipboard operation
csso copied to clipboard

Вырезание дефолтных значений из шортхендов

Open kizu opened this issue 14 years ago • 1 comments

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

Для font всё просто: можно вырезать все значения normal:

  • font: normal normal 1em/2 Arial, sans-seriffont:1em/2 Arial,sans-serif

А вот у background уже дофига различных значений можно опустить:

  • background: none repeat scroll transparent 0 0background:0 0;

(Кстати, background:none можно легко сжимать до background:0 0 — получаем экономию на одну спичку)

…и т.д.

Ну и для кучи современных всяких CSS3 свойств часто не опускают какие-либо из значений (и вот их точно часто из генераторов вставляют), например:

  • у transition: all .3s ease недефолтное только указание времени, т.е. это можно сократить до transition:.3s
  • у box-shadow, увы, можно только ноли выкидывать до одного, и только если они идут в конце: box-shadow: 3px 0 0 0 redbox-shadow: 3px 0 red, но box-shadow: 3px 0 3px 0 redbox-shadow: 3px 0 3px red.

Правда, вот случай с box-shadow чуть сложнее: в старых вебкитах нельзя использовать четвёртую цифру — свойство не будет применено. Возможно, где-то кто-то может использовать это как хак для старых версий. Но по идее это актуально только для -webkit-box-shadow, для остальных пефиксных и без вариантов можно все ноли сокращать безопасно, кажется.

Хотя, для всех подобных шортхендов надо тестировать отдельно во всех актуальных браузерах, но, насколко я помню, там не так много проблем и спорных мест.

kizu avatar Sep 18 '11 11:09 kizu

Да, буду делать, спасибо.

afelix avatar Sep 18 '11 12:09 afelix