效果图
画圆弧:
使用clip-path五点画圆弧:
第一个点: 圆点
第二个点:圆弧开始起点
第三和第四个点:把起点和重点的弧线分成均等三段的两个点
第五个点:终点
圆外的四个点距离圆心是2r。为什么是2r呢?因为当圆弧是360度(也就是一个圆时),点与点两两连线,线刚刚好与圆相切,
灰色圆弧背景
写一个灰色圆环作为背景即可
圆环:圆角边框+mask(遮盖) 实现
注意点:
1.角度的方向:
2.Math.sin
js涉及角度的Math函数里面的参数都是弧度值(就是2Math.PI=360,用的是前者)
使用组件主要需要六个参数:
startAngle={
324} //弧线起始角度
angle={
252} //弧线横跨角度
innerRadius={
40} //内圆半径
outerRadius={
60} //外圆半径
color={
['#1ADBFF', '#45FF9D', '#F2BB00', '#FF6726']} //弧型渐变颜色数组
percent={
arcPercent} //弧线站总弧线的百分比
yuanhu/index.jsx
import React, {
Component } from 'react';
import "./index.css"
import {
creatPolygon} from "./polygon"
class Yuanhu extends Component {
addColor=()=>{
const {
color,angle}=this.props
const {
length}=color
const fillNum=length/(angle/360);
console.log("fillNum",fillNum,length);
let fillColor=color;
for(let i =0;i<(fillNum-length);i++){
fillColor.push("red")
}
console.log("fillcolor:",fillColor);
return fillColor
}
ren