css 制作三维饼图
导读:CSS可以用来制作三维饼图,非常酷炫。下面我们就来看一下如何实现。 .pie-chart { position: relative; width: 200px; height: 200px; border-radi...
CSS可以用来制作三维饼图,非常酷炫。下面我们就来看一下如何实现。
.pie-chart {
position: relative;
width: 200px;
height: 200px;
border-radius: 50%;
background: linear-gradient(white, white 50%, gray 50%, gray);
transform-style: preserve-3d;
}
.slice {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
clip: rect(0, 100px, 200px, 0);
}
.slice:nth-child(1) {
transform: rotate(0deg) skew(45deg) rotate(0deg);
background-color: red;
}
.slice:nth-child(2) {
transform: rotate(45deg) skew(45deg) rotate(0deg);
background-color: blue;
}
.slice:nth-child(3) {
transform: rotate(90deg) skew(45deg) rotate(0deg);
background-color: green;
}
.slice:nth-child(4) {
transform: rotate(135deg) skew(45deg) rotate(0deg);
background-color: yellow;
}
.slice:nth-child(5) {
transform: rotate(180deg) skew(45deg) rotate(0deg);
background-color: orange;
}
.slice:nth-child(6) {
transform: rotate(225deg) skew(45deg) rotate(0deg);
background-color: purple;
}
.slice:nth-child(7) {
transform: rotate(270deg) skew(45deg) rotate(0deg);
background-color: gray;
}
.slice:nth-child(8) {
transform: rotate(315deg) skew(45deg) rotate(0deg);
background-color: brown;
}
这个三维饼图的原理是用了CSS3中的transform属性,通过rotate和skew来形成3D的效果。同时,使用了clip属性来实现每个饼状的形状。
在slice的样式中,我们使用了nth-child选择器来针对每个饼状分别进行控制。同时,通过使用linear-gradient来设置渐变背景颜色,让颜色更加柔和过渡。
如果你想要调整饼图的大小,只需要调整pie-chart的样式,同时需要更改clip的值,以使每个饼状大小一致。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: css 制作三维饼图
本文地址: https://pptw.com/jishu/532471.html
