Skip to content

Commit 0b755a3

Browse files
committed
Normalize angle range
1 parent 1bbaf47 commit 0b755a3

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

lib/hacks/gradient.coffee

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Value = require('../value')
33
utils = require('../utils')
44

55
parser = require('postcss-value-parser')
6+
range = require('normalize-range');
67
list = require('postcss/lib/list')
78

89
isDirection = /top|left|right|bottom/gi
@@ -74,6 +75,10 @@ class Gradient extends Value
7475
nodes[0].value = @normalizeUnit(nodes[0].value, 2)
7576
else if /-?\d+(.\d+)?turn/.test(nodes[0].value)
7677
nodes[0].value = @normalizeUnit(nodes[0].value, 1)
78+
else if nodes[0].value.indexOf('deg') != -1
79+
num = parseFloat(nodes[0].value)
80+
num = range.wrap(0, 360, num)
81+
nodes[0].value = "#{num}deg"
7782

7883
if nodes[0].value == '0deg'
7984
nodes = @replaceFirst(nodes, 'to', ' ', 'top')

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"repository": "postcss/autoprefixer",
1515
"dependencies": {
1616
"postcss-value-parser": "^3.2.3",
17+
"normalize-range": "^0.1.2",
1718
"coffee-script": "1.10.0",
1819
"num2fraction": "^1.2.2",
1920
"browserslist": "~1.0.1",

test/cases/gradient.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,7 @@ div {
8080
.turn {
8181
background: linear-gradient(0.3turn, white, black);
8282
}
83+
84+
.norm {
85+
background: linear-gradient(-90deg, white, black);
86+
}

test/cases/gradient.out.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,10 @@ div {
138138
background: -o-linear-gradient(342deg, white, black);
139139
background: linear-gradient(0.3turn, white, black);
140140
}
141+
142+
.norm {
143+
background: -webkit-gradient(linear, right top, left top, from(white), to(black));
144+
background: -webkit-linear-gradient(right, white, black);
145+
background: -o-linear-gradient(right, white, black);
146+
background: linear-gradient(-90deg, white, black);
147+
}

0 commit comments

Comments
 (0)