太极图的绘制需要五个圆:
最大的圆分割成两块填补上黑白即可,代码实现:
background-image: linear-gradient(to right, #000 50%, #FFF 0);
接着就是圆套圆,然后填色就行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>太极</title>
<style>
.p{
width:600px;
height:600px;
border-radius: 50%;
background-image: linear-gradient(to right, #000 50%, #FFF 0);
transform: rotate(90deg);
border:1px black solid;
/*父类元素相对定位*/
position:relative;
}
.p>div{
width: 300px;
height: 300px;
position:absolute;
position:relative;
}
.big1{
background-color: black;
border-radius: 50%;
left:150px;
}
.big2{
background-color: white;
border-radius: 50%;
left:150px;
}
.big1>div{
width: 100px;
height: 100px;
position:absolute;
}
.big2>div{
width: 100px;
height: 100px;
position:absolute;
}
.small1{
background-color:white;
border-radius: 50%;
top:100px;
left:100px;
}
.small2{
background-color:black;
border-radius: 50%;
top:100px;
left:100px;
}
</style>
</head>
<body>
<div class="p">
<div class="big1">
<div class="small1"></div>
</div>
<div class="big2">
<div class="small2"></div>
</div>
</div>
</body>
</html>
效果图: