这个磁盘图用html js怎么写呢
可以用canvas画图
用两个div嵌套即可。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.box1 {
background-color: #b4eab4;
height: 200px;
width: 200px;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
}
.box2 {
background-color: #fff;
height: 80px;
width: 80px;
border-radius: 50%;
}
</style>
<script src='https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js'></script>
</head>
<body>
<div class="box1">
<div class="box2"></div>
</div>
</body>
<script>
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.disk-container {
position: relative;
width: 1400px;
height: 1400px;
}
</style>
</head>
<body>
<canvas id="disk" class="disk-container"></canvas>
<script>
var c = document.getElementById("disk");
/** @type {CanvasRenderingContext2D} */
var ctx = c.getContext("2d");
c.width = c.clientWidth
c.height = c.clientHeight
var center = c.clientWidth / 2
for (let i = 0; i < 30; i++) {
ctx.beginPath()
ctx.lineWidth = 5
ctx.strokeStyle = 'rgb(66,155,66)'
// 重叠细节需要根据圈值改变对应下边儿第二个参数
ctx.setLineDash([3, 3]);
ctx.arc(center, center, center - 100 - 8 * i, 0, Math.PI * 2)
ctx.closePath();
ctx.stroke()
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
div {
border-radius: 50%;
border: 5px dashed red;
}
.father {
width: 400px;
height: 400px;
display: flex;
/* co1umn 从上到下*/
align-items: center;
/* center代表水平方向 */
justify-content: center;
}
.son1 {
width: 380px;
height: 380px;
display: flex;
/* co1umn 从上到下*/
align-items: center;
/* center代表水平方向 */
justify-content: center;
}
.son2 {
width: 360px;
height: 360px;
display: flex;
/* co1umn 从上到下*/
align-items: center;
/* center代表水平方向 */
justify-content: center;
}
</style>
</head>
<body>
<div class="father">
<div class="son1">
<div class="son2"></div>
</div>
</div>
</body>
</html>
我这个 只是取巧 。 可以用flex 布局 加上 border 虚线实现 。你只需要 接着 嵌套 每层 宽高 以此递减 20px .给的是思路具体样式可以调