cleancss(1)
cleancss - fast and efficient CSS optimizer
Description
CLEANCSS
NAME
cleancss - cleancss - fast and efficient CSS optimizer
SYNOPSIS
cleancss [options] <source-file ...>
OPTIONS
-v, --version
output the version number
-c, --compatibility [ie7|ie8]
Force compatibility mode (see Readme for advanced examples)
-d, --debug
Shows debug information (minification time & compression efficiency)
-f, --format <options>
Controls output formatting, see examples below
-o, --output [output-file]
Use [output-file] as output instead of STDOUT
-O <n> [optimizations]
Turn on level <n> optimizations; optionally accepts a list of fine-grained options, defaults to ‘1‘, see examples below
--inline [rules]
Enables inlining for listed sources (defaults to ‘local‘)
--inline-timeout [seconds]
Per connection timeout when fetching remote stylesheets (defaults to 5 seconds)
--remove-inlined-files
Remove files inlined in <source-file ...> or via ‘@import‘ statements
--skip-rebase
Disable URLs rebasing
--source-map
Enables building input’s source map
--source-map-inline-sources
Enables inlining sources inside source maps
--input-source-map [file]
Specifies the path of the input source map file
-h, --help
output usage information
Examples:
%> cleancss
one.css
%> cleancss -o one-min.css one.css
%> cleancss -o merged-and-minified.css one.css
two.css three.css
%> cleancss one.css two.css three.css | gzip -9 -c
>
merged-minified-and-gzipped.css.gz
Formatting options:
%> cleancss
--format beautify one.css
%> cleancss --format keep-breaks one.css
%> cleancss --format
’indentBy:1;indentWith:tab’ one.css
%> cleancss --format
’breaks:afterBlockBegins=on;spaces:aroundSelectorRelation=on’
one.css
%> # ‘breaks‘ controls where to insert breaks
%> # ‘afterAtRule‘ controls if a line break
comes after an at-rule; e.g.
‘@charset‘; defaults to ‘off‘ (alias
to ‘false‘)
%> # ‘afterBlockBegins‘ controls if a line
break comes after a block
begins; e.g. ‘@media‘; defaults to
‘off‘
%> # ‘afterBlockEnds‘ controls if a line
break comes after a block ends,
defaults to ‘off‘
%> # ‘afterComment‘ controls if a line break
comes after a comment;
defaults to ‘off‘
%> # ‘afterProperty‘ controls if a line break
comes after a property;
defaults to ‘off‘
%> # ‘afterRuleBegins‘ controls if a line
break comes after a rule
begins; defaults to ‘off‘
%> # ‘afterRuleEnds‘ controls if a line break
comes after a rule ends;
defaults to ‘off‘
%> # ‘beforeBlockEnds‘ controls if a line
break comes before a block
ends; defaults to ‘off‘
%> # ‘betweenSelectors‘ controls if a line
break comes between selectors;
defaults to ‘off‘
%> # ‘indentBy‘ controls number of characters
to indent with; defaults to
‘0‘
%> # ‘indentWith‘ controls a character to
indent with, can be ‘space‘ or
‘tab‘; defaults to ‘space‘
%> # ‘spaces‘ controls where to insert spaces
%> # ‘aroundSelectorRelation‘ controls if
spaces come around selector
relations; e.g. ‘div > a‘; defaults to
‘off‘
%> # ‘beforeBlockBegins‘ controls if a space
comes before a block begins;
e.g. ‘.block {‘; defaults to ‘off‘
%> # ‘beforeValue‘ controls if a space comes
before a value; e.g. ‘width:
1rem‘; defaults to ‘off‘
%> # ‘wrapAt‘ controls maximum line length;
defaults to ‘off‘
Level 0 optimizations:
%> cleancss -O0 one.css
Level 1 optimizations:
%> cleancss
-O1 one.css
%> cleancss -O1
removeQuotes:off;roundingPrecision:4;specialComments:1
one.css
%> cleancss -O1 all:off;specialComments:1 one.css
%> # ‘cleanupCharsets‘ controls
‘@charset‘ moving to the front of a
stylesheet; defaults to ‘on‘
%> # ‘normalizeUrls‘ controls URL
normalzation; default to ‘on‘
%> # ‘optimizeBackground‘ controls
‘background‘ property optimizatons;
defaults to ‘on‘
%> # ‘optimizeBorderRadius‘ controls
‘border-radius‘ property optimizatons;
defaults to ‘on‘
%> # ‘optimizeFilter‘ controls
‘filter‘ property optimizatons; defaults to
‘on‘
%> # ‘optimizeFontWeight‘ controls
‘font-weight‘ property optimizatons;
defaults to ‘on‘
%> # ‘optimizeOutline‘ controls
‘outline‘ property optimizatons; defaults
to ‘on‘
%> # ‘removeEmpty‘ controls removing empty
rules and nested blocks;
defaults to ‘on‘ (since 4.1.0)
%> # ‘removeNegativePaddings‘ controls
removing negative paddings; defaults
to ‘on‘
%> # ‘removeQuotes‘ controls removing quotes
when unnecessary; defaults to
‘on‘
%> # ‘removeWhitespace‘ controls removing
unused whitespace; defaults to
‘on‘
%> # ‘replaceMultipleZeros‘ contols removing
redundant zeros; defaults to
‘on‘
%> # ‘replaceTimeUnits‘ controls replacing
time units with shorter values;
defaults to ‘on
%> # ‘replaceZeroUnits‘ controls replacing
zero values with units; defaults
to ‘on‘
%> # ‘roundingPrecision‘ rounds pixel values
to ‘N‘ decimal places; ‘off‘
disables rounding; defaults to ‘off‘
%> # ‘selectorsSortingMethod‘ denotes
selector sorting method; can be
‘natural‘ or ‘standard‘; defaults to
‘standard‘
%> # ‘specialComments‘ denotes a number of
/*! ... */ comments preserved;
defaults to ‘all‘
%> # ‘tidyAtRules‘ controls at-rules (e.g.
‘@charset‘, ‘@import‘)
optimizing; defaults to ‘on‘
%> # ‘tidyBlockScopes‘ controls block scopes
(e.g. ‘@media‘) optimizing;
defaults to ‘on‘
%> # ‘tidySelectors‘ controls selectors
optimizing; defaults to ‘on‘
Level 2 optimizations:
%> cleancss
-O2 one.css
%> cleancss -O2
mergeMedia:off;restructureRules:off;mergeSemantically:on;mergeIntoShorthands:off
one.css
%> cleancss -O2 all:off;removeDuplicateRules:on
one.css
%> # ‘mergeAdjacentRules‘ controls adjacent
rules merging; defaults to ‘on‘
%> # ‘mergeIntoShorthands‘ controls merging
properties into shorthands;
defaults to ‘on‘
%> # ‘mergeMedia‘ controls
‘@media‘ merging; defaults to ‘on‘
%> # ‘mergeNonAdjacentRules‘ controls
non-adjacent rule merging; defaults
to ‘on‘
%> # ‘mergeSemantically‘ controls semantic
merging; defaults to ‘off‘
%> # ‘overrideProperties‘ controls property
overriding based on
understandability; defaults to ‘on‘
%> # ‘reduceNonAdjacentRules‘ controls
non-adjacent rule reducing; defaults
to ‘on‘
%> # ‘removeDuplicateFontRules‘ controls
duplicate ‘@font-face‘ removing;
defaults to ‘on‘
%> # ‘removeDuplicateMediaBlocks‘ controls
duplicate ‘@media‘ removing;
defaults to ‘on‘
%> # ‘removeDuplicateRules‘ controls
duplicate rules removing; defaults to
‘on‘
%> # ‘removeEmpty‘ controls removing empty
rules and nested blocks;
defaults to ‘on‘ (since 4.1.0)
%> # ‘removeUnusedAtRules‘ controls unused at
rule removing; defaults to
‘off‘ (since 4.1.0)
%> # ‘restructureRules‘ controls rule
restructuring; defaults to ‘off‘
%> # ‘skipProperties‘ controls which
properties won’t be optimized,
defaults to empty list which means all will be optimized
(since 4.1.0)