http://css-tricks.com/uniqlo-stripe-hovers/는 D3 당신은 그냥 당신에게 적절한 양을 보여 얻기 위해 percentage
변수로 재생해야
http://jsfiddle.net/5yhgyyq9/4/
와 바이올린 예입니다 : 크리스 Coyier 어떻게 여기 보여줍니다. 표준 SVG에서도 작동하도록이 기능을 적용 할 수 있습니다. SVG
<svg>
<linearGradient id="mygradient" x1="0" y1="1" x2="6.123233995736766e-17" y2="0" gradientTransform="matrix(1,0,0,1,0,0)">
<stop offset="0%" stop-color="#006d00"></stop>
<stop offset="10%" stop-color="#00ff00"></stop>
<stop offset="20%" stop-color="#006d00"></stop>
<stop offset="30%" stop-color="#00ff00"></stop>
<stop offset="40%" stop-color="#006d00"></stop>
<stop offset="50%" stop-color="#00ff00"></stop>
<stop offset="60%" stop-color="#006d00"></stop>
<stop offset="70%" stop-color="#00ff00"></stop>
<stop offset="80%" stop-color="#006d00"></stop>
<stop offset="90%" stop-color="#00ff00"></stop>
<stop offset="100%" stop-color="#006d00"></stop>
</linearGradient>
</svg>
과 스타일에 그라데이션 요소를 추가함으로써
var radius = 100,
padding = 10,
radians = 2 * Math.PI;
var dimension = (2 * radius) + (2 * padding),
points = 50, percentage = .77;
var angle = d3.scale.linear()
.domain([0, points-1])
.range([0, radians]);
var line = d3.svg.line.radial()
.interpolate("basis")
.tension(0)
.radius(radius)
.angle(function(d, i) {
if (i < (points*percentage + 1)) {
return angle(i);
}
});
var svg = d3.select("body").append("svg")
.attr("width", dimension)
.attr("height", dimension)
.append("g");
svg.append("path").datum(d3.range(points))
.attr("class", "line")
.attr("d", line)
.attr("transform", "translate(" + (radius + padding) + ", " + (radius + padding) + ")");
, 당신은 그라데이션 스트로크
.line {
fill: none;
stroke: url('#mygradient');
stroke-width: 4px;
stroke-linecap:round;
}
내가 그림을 당신을 위해 운동으로 떠나을 얻을 수 있습니다 그라디언트가 정확히 작동하는지 확인
괜찮습니까? 그렇다면 질문은 무엇입니까? – unobf
@unobf 이미지에 나타나는 내용을 어떻게 얻을 수 있습니까? – Syed