* Fixes similar cases for other prefixes and unprefixed transform.
* Fixed issue [#190](https://github.com/GoalSmashers/clean-css/issues/190) - uses shorthand to override another shorthand.
* Fixed issue [#247](https://github.com/GoalSmashers/clean-css/issues/247) - removes deprecated `selectorsMergeMode` switch.
* Refixed issue [#250](https://github.com/GoalSmashers/clean-css/issues/250) - based on new quotation marks removal.
+* Fixed issue [#275](https://github.com/GoalSmashers/clean-css/issues/275) - handling transform properties.
[2.1.8 / 2014-03-28](https://github.com/GoalSmashers/clean-css/compare/v2.1.7...v2.1.8)
==================
for (var i = 0, l = tokens.length; i < l; i++) {
var token = tokens[i];
var property = token[0];
+ var value = token[1];
var isImportant = token[2];
var isIEHack = token[3];
var _property = (property == '-ms-filter' || property == 'filter') ?
if (compatibility && !wasIEHack && isIEHack)
break;
+ var _info = processableInfo.processable[_property];
+ if (!isIEHack && !wasIEHack && _info && _info.canOverride && !_info.canOverride(tokens[toOverridePosition][1], value))
+ break;
+
merged.splice(toOverridePosition, 1);
properties.splice(toOverridePosition, 1);
}
return false;
// (rgba|hsla)
- if (validator.isValidRgbaColor(val2) || validator.isValidHslColor(val2) || validator.isValidHslaColor(val2))
+ if (validator.isValidRgbaColor(val2) || validator.isValidHslaColor(val2))
return true;
- if (validator.isValidRgbaColor(val1) || validator.isValidHslColor(val1) || validator.isValidHslaColor(val1))
+ if (validator.isValidRgbaColor(val1) || validator.isValidHslaColor(val1))
return false;
// Functions with the same name can override each other; same values can override each other
canOverride: canOverride.unit,
defaultValue: 'medium',
shortestValue: '0'
+ },
+ // transform
+ '-moz-transform': {
+ canOverride: canOverride.sameFunctionOrValue
+ },
+ '-ms-transform': {
+ canOverride: canOverride.sameFunctionOrValue
+ },
+ '-webkit-transform': {
+ canOverride: canOverride.sameFunctionOrValue
+ },
+ 'transform': {
+ canOverride: canOverride.sameFunctionOrValue
}
};
'filter treated as background': 'p{background:-moz-linear-gradient();background:-webkit-linear-gradient();filter:"progid:DXImageTransform";background:linear-gradient()}',
'filter treated as background-image': 'p{background-image:-moz-linear-gradient();background-image:-webkit-linear-gradient();filter:"progid:DXImageTransform";background-image:linear-gradient()}',
'-ms-filter treated as background': 'p{background:-moz-linear-gradient();background:-webkit-linear-gradient();-ms-filter:"progid:DXImageTransform";background:linear-gradient()}',
- '-ms-filter treated as background-image': 'p{background-image:-moz-linear-gradient();background-image:-webkit-linear-gradient();-ms-filter:"progid:DXImageTransform";background-image:linear-gradient()}'
+ '-ms-filter treated as background-image': 'p{background-image:-moz-linear-gradient();background-image:-webkit-linear-gradient();-ms-filter:"progid:DXImageTransform";background-image:linear-gradient()}',
+ '-ms-transform with different values #1': 'div{-ms-transform:translate(0,0);-ms-transform:translate3d(0,0,0)}',
+ '-ms-transform with different values #2': 'div{-ms-transform:translate(0,0);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}',
+ 'transform with different values #1': 'div{transform:translate(0,0);transform:translate3d(0,0,0)}',
+ 'transform with different values #2': 'div{transform:translate(0,0);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}'
}),
'same selectors': cssContext({
'of two non-adjacent selectors': '.one{color:red}.two{color:#00f}.one{font-weight:700}',