Skip to content

Commit e7fd17a

Browse files
author
刘祺
committed
fix #1
1 parent 6503382 commit e7fd17a

File tree

5 files changed

+13
-16
lines changed

5 files changed

+13
-16
lines changed

lib/flexbox.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ function createFixupFlexboxDeclaration(propname, value, parent) {
1313
// remove vendor prefixes from names, values
1414

1515
propname = postcss.vendor.unprefixed(propname);
16+
value = postcss.vendor.unprefixed(value);
1617

1718
var mappings = {
1819
"display": {
@@ -62,7 +63,6 @@ function createFixupFlexboxDeclaration(propname, value, parent) {
6263
mappings["flex-order"] = mappings["box-ordinal-group"];
6364

6465
if (propname in mappings) {
65-
value = postcss.vendor.unprefixed(value);
6666
if (value in mappings[propname].valueMap) {
6767
value = mappings[propname].valueMap[value];
6868
}
@@ -77,7 +77,6 @@ function createFixupFlexboxDeclaration(propname, value, parent) {
7777

7878
// box-direction, box-orient is a bit of a mess - these two 2009 draft values turn into 2011's flex-direction, which again has different values for final spec
7979
if (propname === "box-direction" || propname === "box-orient") {
80-
value = postcss.vendor.unprefixed(value);
8180
var dir, orient;
8281
if (propname === "box-direction") {
8382
dir = value;
@@ -103,7 +102,7 @@ function createFixupFlexboxDeclaration(propname, value, parent) {
103102
}
104103

105104
module.exports = function(decl) {
106-
if (/^(?:-\w+-)?(?:box|flex)/.test(decl.prop) || (decl.prop === "display" && /^-\w+-/.test(decl.value))) {
105+
if (/^(?:-\w+-)?(?:box-(?:align|direction|flex|ordinal-group|orient|pack)|flex(?:-\w+)*)$/.test(decl.prop) || (decl.prop === "display" && /^-\w+-/.test(decl.value))) {
107106
var result = createFixupFlexboxDeclaration(decl.prop, decl.value, decl.parent);
108107
if (result.prop !== decl.prop || result.value !== decl.value) {
109108
return result;

lib/gradient.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,8 +382,8 @@ function fixRadialGradient(args) {
382382
firstArg = firstArg.concat(subArg);
383383
return false;
384384
} else if (subArg.every(function(word) {
385-
return word === "center" || directionMap[word] || parseNum(word);
386-
})) {
385+
return word === "center" || directionMap[word] || parseNum(word);
386+
})) {
387387
// 如果subArg是坐标信息将它存入position
388388
position = subArg;
389389
return false;
@@ -504,15 +504,16 @@ module.exports = function(value) {
504504
// 修复老式webkit语法的gradient
505505
stringifyGradient(node, fixOldGradient(parseFunction(node), node));
506506
} else if (/^-\w+-(?:\w+-)?(\w+)-gradient$/.test(node.value)) {
507+
var type = RegExp.$1;
507508
// 修复gradient的前缀
508509
node.value = postcss.vendor.unprefixed(node.value);
509510
// 修复gradient的值
510-
stringifyGradient(node, fixGradient(parseFunction(node), RegExp.$1));
511+
stringifyGradient(node, fixGradient(parseFunction(node), type));
511512
}
512513
}
513514
});
514515
// 将value还原成css字符串
515516
value = valueParser.stringify(value);
516517
return value;
517518
}
518-
};
519+
};

lib/prefixes.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
"use strict";
22
var autoprefixer = require("autoprefixer");
33

4-
var prefixes = [];
5-
for (var i in autoprefixer.data.prefixes) {
6-
prefixes.push(i);
7-
}
8-
var reProp = new RegExp("^-\\w+-(" + prefixes.join("|") + ")$");
9-
var reValue = new RegExp("(^|\\s|,|\\()-\\w+-(" + prefixes.join("|") + ")(\\s|,|\\)|$)", "g");
4+
var prefixes = Object.keys(autoprefixer.data.prefixes).join("|");
5+
var reProp = new RegExp("^-\\w+-(" + prefixes + ")$");
6+
var reValue = new RegExp("(^|\\s|,|\\()-\\w+-(" + prefixes + ")(\\s|,|\\)|$)", "g");
107

118
// 将autoprefixer所支持的各种属性名,转换为无前缀版本
129
module.exports = function(decl) {
1310
return {
1411
prop: decl.prop.replace(reProp, "$1"),
1512
value: decl.value.replace(reValue, "$1$2$3"),
1613
};
17-
};
14+
};

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"dependencies": {
77
"autoprefixer": "^6.5.3",
88
"normalize-range": "^0.1.2",
9-
"postcss": "^5.2.5",
9+
"postcss": "^5.2.6",
1010
"postcss-value-parser": "^3.3.0"
1111
},
1212
"description": "Unprefixes vendor prefixes in legacy CSS.",

test/fixtures/grid-out.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
}
2525

2626
.webkit {
27-
grid: subgrid;
27+
-webkit-grid: subgrid;
2828
grid-template-areas: "head head"
2929
"nav main"
3030
"foot ....";

0 commit comments

Comments
 (0)