Вырезание дефолтных значений из шортхендов
Довольно большая, но, кажется, не сильно сложная задача: для каждого шортхенда есть много дефолтных значений, которые хочется обрезать (я об этом написал в issue про font, но лучше этот момент отдельно вынести).
Для font всё просто: можно вырезать все значения normal:
-
font: normal normal 1em/2 Arial, sans-serif→font:1em/2 Arial,sans-serif
А вот у background уже дофига различных значений можно опустить:
-
background: none repeat scroll transparent 0 0→background:0 0;
(Кстати, background:none можно легко сжимать до background:0 0 — получаем экономию на одну спичку)
…и т.д.
Ну и для кучи современных всяких CSS3 свойств часто не опускают какие-либо из значений (и вот их точно часто из генераторов вставляют), например:
- у
transition: all .3s easeнедефолтное только указание времени, т.е. это можно сократить доtransition:.3s - у
box-shadow, увы, можно только ноли выкидывать до одного, и только если они идут в конце:box-shadow: 3px 0 0 0 red→box-shadow: 3px 0 red, ноbox-shadow: 3px 0 3px 0 red→box-shadow: 3px 0 3px red.
Правда, вот случай с box-shadow чуть сложнее: в старых вебкитах нельзя использовать четвёртую цифру — свойство не будет применено. Возможно, где-то кто-то может использовать это как хак для старых версий. Но по идее это актуально только для -webkit-box-shadow, для остальных пефиксных и без вариантов можно все ноли сокращать безопасно, кажется.
Хотя, для всех подобных шортхендов надо тестировать отдельно во всех актуальных браузерах, но, насколко я помню, там не так много проблем и спорных мест.
Да, буду делать, спасибо.