首页前端开发CSScss 制作三维饼图

css 制作三维饼图

时间2023-11-10 02:23:04发布访客分类CSS浏览170
导读: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
html代码重叠了 html中靠左代码

游客 回复需填写必要信息