div+css实现气候变化时间图表螺旋图效果代码
代码语言:html
所属分类:图表
代码描述:div+css实现气候变化时间图表螺旋图效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
@charset "UTF-8";
:root {
--font: Arial, Helvetica, serif;
--scale-green: #00b106;
--scale-yellow: #ffeb3b;
}
* {
transform-style: preserve-3d;
box-sizing: border-box;
}
body {
margin: 0;
padding: 0;
width: 100vw;
height: 100vh;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
background: radial-gradient(#000, #333);
}
.content {
width: 35vmin;
height: 35vmin;
display: flex;
align-items: center;
justify-content: center;
transform: rotateX(0deg) scale3d(1, 1, 1.5);
transition: all 0.5s ease 0s;
animation: view 4s ease 26s 1;
animation-fill-mode: forwards;
overflow: visible;
}
.content div {
position: absolute;
}
@keyframes view {
0% {
transform: rotateX(0deg) scale3d(1, 1, 1.5);
}
100% {
transform: rotateX(90deg) scale3d(1, 1, 1.5);
}
}
[class^=year-] {
--inc: 15;
--sz: 100%;
--bd: #ff0000;
--dl: 0s;
width: var(--sz);
height: var(--sz);
border: 0.5vmin solid var(--bd);
border-radius: 100%;
box-shadow: 0 0 0.5vmin 0 #000, 0 0 0.5vmin 0 #000 inset;
clip-path: polygon(50% 0%, 50% 0, 50% 0%, 50% 0%, 50% 0);
animation: rings 0.2s linear var(--dl) 1;
animation-fill-mode: forwards;
}
[class^=year-]:before, [class^=year-]:after {
content: "";
position: absolute;
width: 100%;
height: 100%;
border-radius: 100%;
border-top: 2px solid var(--bd);
transform: translateZ(-1px);
color: var(--bd);
justify-content: center;
display: flex;
align-items: center;
font-family: var(--font);
font-size: 4vmin;
background: radial-gradient(#000, #030303 5vmin, #fff0 6vmin);
animation: hide-scale 0.75s ease 26s 1;
animation-fill-mode: forwards;
}
[class^=year-]:after {
transform: rotateX(90deg) translateZ(-25vmin);
height: 0px;
border-radius: 5px;
animation: lines 2s ease 28s 1;
animation-fill-mode: forwards;
opacity: 0;
}
@keyframes rings {
0% {
clip-path: polygon(50% 0%, 50% 0, 50% 0%, 50% 0%, 50% 0);
}
25% {
clip-path: polygon(50% 0%, 100% 0, 100% 50%, 50% 5%, 50% 0);
}
50% {
clip-path: polygon(50% 0%, 100% 0, 100% 100%, 50% 50%, 50% 0);
}
75% {
clip-path: polygon(50% 0%, 100% 0, 100% 100%, 0 100%, 0 100%);
}
99% {
clip-path: polygon(50% 0%, 100% 0, 100% 100%, 0 100%, 0 0);
}
100% {
clip-path: none;
}
}
@keyframes lines {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
/*** Data ***/
.year-1900 {
--sz: calc(100% - calc(0.11vmin * var(--inc)));
transform: translateZ(-100px);
--bd: #c9e6fc;
}
.year-1901 {
--sz: calc(100% - calc(0.09vmin * var(--inc)));
transform: translateZ(-98px);
--bd: #d2eafc;
--dl: 0.2s;
}
.year-1902 {
--sz: calc(100% - calc(0.24vmin * var(--inc)));
transform: translateZ(-96px);
--bd: #88c7f9;
--dl: 0.4s;
}
.year-1903 {
--sz: calc(100% - calc(0.32vmin * var(--inc)));
transform: translateZ(-94px);
--bd: #61b4f6;
--dl: 0.6s;
}
.year-1904 {
--sz: calc(100% - calc(0.44vmin * var(--inc)));
transform: translateZ(-92px);
--bd: #2698f3;
--dl: 0.8s;
}
.year-1905 {
--sz: calc(100% - calc(0.18vmin * var(--inc)));
transform: translateZ(-90px);
--bd: #a7d5fa;
--dl: 1s;
}
.year-1906 {
--sz: calc(100% - calc(0.21vmin * var(--inc)));
transform: translateZ(-88px);
--bd: #98cefa;
--dl: 1.2s;
}
.year-1907 {
--sz: calc(100% - calc(0.34vmin * var(--inc)));
transform: translateZ(-86px);
--bd: #54aef5;
--dl: 1.4s;
}
.year-1908 {
--sz: calc(100% - calc(0.35vmin * var(--inc)));
transform: translateZ(-84px);
--bd: #53aef6;
--dl: 1.6s;
}
.year-1909 {
--sz: calc(100% - calc(0.40vmin * var(--inc)));
transform: translateZ(-82px);
--bd: #3ca3f4;
--dl: 1.8s;
}
.year-1910 {
--sz: calc(100% - calc(0.30vmin * var(--inc)));
transform: translateZ(-80px);
--bd: #6dbaf7;
--dl: 2s;
}
.year-1911 {
--sz: calc(100% - calc(0.41vmin * var(--inc)));
transform: translateZ(-78px);
--bd: #38a1f4;
--dl: 2.2s;
}
.year-1912 {
--sz: calc(100% - calc(0.38vmin * var(--inc)));
transform: translateZ(-76px);
--bd: #3e9de8;
--dl: 2.4s;
}
.year-1913 {
--sz: calc(100% - calc(0.33vmin * var(--inc)));
transform: translateZ(-74px);
--bd: #5db3f6;
--dl: 2.6s;
}
.year-1914 {
--sz: calc(100% - calc(0.24vmin * var(--inc)));
transform: translateZ(-72px);
--bd: #89c7f8;
--dl: 2.8s;
}
.year-1915 {
--sz: calc(100% - calc(0.06vmin * var(--inc)));
transform: translateZ(-70px);
--bd: #e5f3fe;
--dl: 3s;
}
.year-1916 {
--sz: calc(100% - calc(0.31vmin * var(--inc)));
transform: translateZ(-68px);
--bd: #68b7f7;
--dl: 3.2s;
}
.year-1917 {
--sz: calc(100% - calc(0.26vmin * var(--inc)));
transform: translateZ(-66px);
--bd: #81c4f8;
--dl: 3.4s;
}
.year-1918 {
--sz: calc(100% - calc(0.28vmin * var(--inc)));
transform: translateZ(-64px);
--bd: #75bef7;
--dl: 3.6s;
}
.year-1919 {
--sz: calc(100% - calc(0.27vmin * var(--inc)));
transform: translateZ(-62px);
--bd: #7cc1f8;
--dl: 3.8s;
}
.year-1920 {
--sz: calc(100% - calc(0.27vmin * var(--inc)));
transform: translateZ(-60px);
--bd: #7cc1f8;
--dl: 4s;
}
.year-1921 {
--sz: calc(100% - calc(0.13vmin * var(--inc)));
transform: translateZ(-58px);
--bd: #bbdffb;
--dl: 4.2s;
}
.year-1922 {
--sz: calc(100% - calc(0.26vmin * var(--inc)));
transform: translateZ(-56px);
--bd: #81c3f8;
--dl: 4.4s;
}
.year-1923 {
--sz: calc(100% - calc(0.29vmin * var(--inc)));
transform: translateZ(-54px);
--bd: #6ebaf7;
--dl: 4.6s;
}
.year-1924 {
--sz: calc(100% - calc(0.21vmin * var(--inc)));
transform: translateZ(-52px);
--bd: #96cdf9;
--dl: 4.8s;
}
.year-1925 {
--sz: calc(100% - calc(0.24vmin * var(--inc)));
transform: translateZ(-50px);
--bd: #8ac8f9;
--dl: 5s;
}
.year-1926 {
--sz: calc(100% - calc(0.22vmin * var(--inc)));
transform: translateZ(-48px);
--bd: #94ccf9;
--dl: 5.2s;
}
.year-1927 {
--sz: calc(100% - calc(0.16vmin * var(--inc)));
transform: translateZ(-46px);
--bd: #b3dbfb;
--dl: 5.4s;
}
.year-1928 {
--sz: calc(100% - calc(0.16vmin * var(--inc)));
transform: translateZ(-44px);
--bd: #b3dbfb;
--dl: 5.6s;
}
.year-1929 {
--sz: calc(100% - calc(0.29vmin * var(--inc)));
transform: translateZ(-42px);
--bd: #70bbf7;
--dl: 5.8s;
}
.year-1930 {
--sz: calc(100% - calc(0.12vmin * var(--inc)));
transform: translateZ(-40px);
--bd: #c6e4fc;
--dl: 6s;
}
.year-1931 {
--sz: calc(100% - calc(0.00vmin * var(--inc)));
transform: translateZ(-38px);
--bd: #ffffff;
--dl: 6.2s;
}
.year-1932 {
--sz: calc(100% - calc(0.15vmin * var(--inc)));
transform: translateZ(-36px);
--bd: #b6dcfb;
--dl: 6.4s;
}
.year-1933 {
--sz: calc(100% - calc(0.21vmin * var(--inc)));
transform: translateZ(-34px);
--bd: #99cff9;
--dl: 6.6s;
}
.year-1934 {
--sz: calc(100% - calc(0.09vmin * var(--inc)));
transform: translateZ(-32px);
--bd: #d4ebfc;
--dl: 6.8s;
}
.year-1935 {
--sz: calc(100% - calc(0.15vmin * var(--inc)));
transform: translateZ(-30px);
--bd: #b6dcfb;
--dl: 7s;
}
.year-1936 {
--sz: calc(100% - calc(0.05vmin * var(--inc)));
transform: translateZ(-28px);
--bd: #e7f3fe;
--dl: 7.2s;
}
.year-1937 {
--sz: calc(100% + calc(0.02vmin * var(--inc)));
transform: translateZ(-26px);
--bd: #fff4f4;
--dl: 7.4s;
}
.year-1938 {
--sz: calc(100% - calc(0.06vmin * var(--inc)));
transform: translateZ(-24px);
--bd: #e3f2fe;
--dl: 7.6s;
}
.year-1939 {
--sz: calc(100% - calc(0.02vmin * var(--inc)));
transform: translateZ(-22px);
--bd: #f6fbfe;
--dl: 7.8s;
}
.year-1940 {
--sz: calc(100% + calc(0.15vmin * var(--inc)));
transform: translateZ(-20px);
--bd: #ffabab;
--dl: 8s;
}
.year-1941 {
--sz: calc(100% + calc(0.22vmin * var(--inc)));
transform: translateZ(-18px);
--bd: #ff8585;
--dl: 8.2s;
}
.year-1942 {
--sz: calc(100% + calc(0.0vmin * var(--inc)));
transform: translateZ(-16px);
--bd: #ffffff;
--dl: 8.4s;
}
.year-1943 {
--sz: calc(100% + calc(0.06vmin * var(--inc)));
transform: translateZ(-14px);
--bd: #ffdede;
--dl: 8.6s;
}
.year-1944 {
--sz: calc(100% + calc(0.20vmin * var(--inc)));
transform: translateZ(-12px);
--bd: #ff9191;
--dl: 8.8s;
}
.year-1945 {
--sz: calc(100% + calc(0.12vmin * var(--inc)));
transform: translateZ(-10px);
--bd: #ffb9b9;
--dl: 9s;
}
.year-1946 {
--sz: calc(100% - calc(0.11vmin * var(--inc)));
transform: translateZ(-8px);
--bd: #c9e5fc;
--dl: 9.2s;
}
.year-1947 {
--sz: calc(100% - calc(0.01vmin * var(--inc)));
transform: translateZ(-6px);
--bd: #fbfdff;
--dl: 9.4s;
}
.year-1948 {
--sz: calc(100% - calc(0.04vmin * var(--inc)));
transform: translateZ(-4px);
--bd: #edf6fe;
--dl: 9.6s;
}
.year-1949 {
--sz: calc(100% - calc(0.09vmin * var(--inc)));
transform: translateZ(-2px);
--bd: #d3eafd;
--dl: 9.8s;
}
.year-1950 {
--sz: calc(100% - calc(0.09vmin * var(--inc)));
transform: translateZ(0px);
--bd: #d3eafd;
--dl: 10s;
}
.year-1951 {
--sz: calc(100% + calc(0.10vmin * var(--inc)));
transform: translateZ(2px);
--bd: #ffc5c5;
--dl: 10.2s;
}
.year-1952 {
--sz: calc(100% + calc(0.07vmin * var(--inc)));
transform: translateZ(4px);
--bd: #ffd1d1;
--dl: 10.4s;
}
.year-1953 {
--sz: calc(100% + calc(0.09vmin * var(--inc)));
transform: translateZ(6px);
--bd: #ffcbcb;
--dl: 10.6s;
}
.year-1954 {
--sz: calc(100% - calc(0.08vmin * var(--inc)));
transform: translateZ(8px);
--bd: #dbeefd;
--dl: 10.8s;
}
.year-1955 {
--sz: calc(100% - calc(0.11vmin * var(--inc)));
transform: translateZ(10px);
--bd: #c8e5fc;
--dl: 11s;
}
.year-1956 {
--sz: calc(100% - calc(0.12vmin * var(--inc)));
transform: translateZ(12px);
--bd: #c3e3fc;
--dl: 11.2s;
}
.year-1957 {
--sz: calc(100% + calc(0.01vmin * var(--inc)));
transform: translateZ(14px);
--bd: #fff9f9;
--dl: 11.4s;
}
.year-1958 {
--sz: calc(100% + calc(0.02vmin * var(--inc)));
transform: translateZ(16px);
--bd: #fff7f7;
--dl: 11.6s;
}
.year-1959 {
--sz: calc(100% + calc(0.08vmin * var(--inc)));
transform: translateZ(18px);
--bd: #ffd3d3;
--dl: 11.8s;
}
.year-1960 {
--sz: calc(100% + calc(0.08vmin * var(--inc)));
transform: translateZ(20px);
--bd: #ffd3d3;
--dl: 12s;
}
.year-1961 {
--sz: calc(100% + calc(0.05vmin * var(--inc)));
transform: translateZ(22px);
--bd: #ffe3e3;
--dl: 12.2s;
}
.year-1962 {
--sz: calc(100% + calc(0.10vmin * var(--inc)));
transform: translateZ(24px);
--bd: #ffc7c7;
--dl: 12.4s;
}
.year-1963 {
--sz: calc(100% + calc(0.04vmin * var(--inc)));
transform: translateZ(26px);
--bd: #ffe8e8;
--dl: 12.6s;
}
.year-1964 {
--sz: calc(100% - calc(0.01vmin * var(--inc)));
transform: translateZ(28px);
--bd: #fbfdff;
--dl: 12.8s;
}
.year-1965 {
--sz: calc(100% - calc(0.0vmin * var(--inc)));
transform: translateZ(30px);
--bd: #ffffff;
--dl: 13s;
}
.year-1966 {
--sz: calc(100% + calc(0.09vmin * var(--inc)));
transform: translateZ(32px);
--bd: #ffcccc;
--dl: 13.2s;
}
.year-1967 {
--sz: calc(100% - calc(0.02vmin * var(--inc)));
transform: translateZ(34px);
--bd: #f7fbfe;
--dl: 13.4s;
}
.year-1968 {
--sz: calc(100% - calc(0.05vmin * var(--inc)));
transform: translateZ(36px);
--bd: #e6f3fe;
--dl: 13.6s;
}
.year-1969 {
--sz: calc(100% + calc(0.11vmin * var(--inc)));
transform: translateZ(38px);
--bd: #ffc2c2;
--dl: 13.8s;
}
.year-1970 {
--sz: calc(100% + calc(0.03vmin * var(--inc)));
transform: translateZ(40.........完整代码请登录后点击上方下载按钮下载查看
网友评论0