开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

GrapeTech / css-variable-demo

Watch 1 Star 0 Fork 0
Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
Nothing here. spread retract

demo-5.html 7.92 KB
Copy Edit Web IDE Raw Blame History
zglit authored 2018-08-14 22:25 . init commit
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.bubble {
--direction-y: 30px;
--transparency: 0;
animation: bubbling 3s forwards infinite;
}
/* g element wrapping up the three small fish */
.small-fish {
--dir-left: -800px;
--dir-right: 800px;
--transparency: 0;
}
.small-fish-1 {
animation: move-x 6s linear forwards infinite;
}
.small-fish-2 {
animation: move-x 8s linear forwards infinite;
}
.small-fish-3 {
animation: move-x 10s linear forwards infinite;
}
@keyframes bubbling {
0% {
transform: translatey(var(--direction-y));
opacity: var(--transparency);
}
40% {
opacity: calc(var(--transparency) + 0.2);
}
70% {
opacity: calc(var(--transparency) + 0.1);
}
100% {
opacity: var(--transparency);
}
}
@keyframes move-x {
0% {
transform: translatex(var(--dir-right));
}
50% {
opacity: calc(var(--transparency) + 0.3);
}
100% {
transform: translatex(var(--dir-left));
opacity: var(--transparency);
}
}
/* General styles */
* {
box-sizing: border-box;
}
*:before, *:after {
box-sizing: inherit;
}
html, body {
margin: 0;
padding: 0;
overflow-x: hidden;
width: 100vw;
height: 100vh;
}
.image-container {
width: 100vw;
height: 100vh;
margin: 0;
padding: 0;
padding-bottom: 80%;
position: relative;
background: black;
}
svg {
display: inline-block;
stroke: none;
position: absolute;
margin: 0;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
max-width: 1000px;
border-radius: 50%;
background: linear-gradient(aqua, blue);
}
</style>
</head>
<body>
<div class="image-container">
<!-- SVG -->
<svg viewBox="0 0 875.88501 656.15442" xmlns="http://www.w3.org/2000/svg" aria-labelledby="fish-title" role="img">
<title id="fish-title">
Smiling Big Fish and Three Small Swimming Fish
</title>
<g class="fish">
<ellipse class="bubble" cx="192.421" cy="83.529" rx="39.897" ry="31.224" fill="rgba(36,115,242, 0.5)" />
<ellipse class="bubble" cx="92.421" cy="43.529" rx="39.897" ry="31.224" fill="rgba(36,115,242, 0.8)" />
<ellipse class="bubble" cx="175.977" cy="67.617" rx="21.078" ry="18.067" fill="rgba(36,115,242, 0.5)" />
<ellipse class="bubble" cx="52.522" cy="106.762" rx="21.078" ry="19.572" fill="rgba(50,80,132, 0.6)" />
<ellipse class="bubble" cx="72.847" cy="121.064" rx="23.336" ry="20.325" fill="rgba(65,72,84, 0.8)" />
<ellipse class="bubble" cx="25.422" cy="166.984" rx="15.055" ry="15.055" fill="rgba(181,183,188, 0.5)" />
<ellipse class="bubble" cx="95.422" cy="266.984" rx="15.055" ry="15.055" fill="rgba(181,183,188, 0.3)" />
<ellipse class="bubble" cx="88.655" cy="206.881" rx="34.628" ry="30.864" fill="rgba(15,28,61, 0.7)" />
<ellipse class="bubble" cx="80.419" cy="320.214" rx="24.842" ry="23.336" fill="rgba(181,183,188, 0.8)" />
<g class="small-fish">
<g class="small-fish-1">
<ellipse class="small-fish-body" cx="88" cy="606" rx="54" ry="30" fill="#f2ae76" />
<ellipse class="small-fish-eye" cx="50" cy="606" rx="8" ry="8" fill="#555" />
<ellipse class="small-fish-tail" cx="170" cy="606" rx="30" ry="20" fill="#f2ae76" />
</g>
<g class="small-fish-2">
<ellipse class="small-fish-body" cx="630" cy="500" rx="54" ry="30" fill="#f2ae76" />
<ellipse class="small-fish-eye" cx="600" cy="500" rx="8" ry="8" fill="#555" />
<ellipse class="small-fish-tail" cx="710" cy="500" rx="30" ry="20" fill="#f2ae76" />
</g>
<g class="small-fish-3">
<ellipse class="small-fish-body" cx="318" cy="40" rx="54" ry="30" fill="#f2ae76" />
<ellipse class="small-fish-eye" cx="290" cy="40" rx="8" ry="8" fill="#555" />
<ellipse class="small-fish-tail" cx="398" cy="40" rx="30" ry="20" fill="#f2ae76" />
</g>
</g>
<g class="rear-finn">
<path d="M447.86 606.577l.28.562c-41.918 89.377 57.398 128.87 64.157 131.436l.125.25c.03-.064.063-.124.094-.188.11.04.437.187.437.187l10.74-43.864c41.922-89.38-68.42-85.57-75.177-88.135l-.125-.25c-.03.064-.062.123-.092.187-.11-.04-.438-.187-.438-.187z"
fill="coral" fill-rule="evenodd" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5"
transform="matrix(.8715 0 0 .8574 -11.782 -31.657)" />
</g>
<path class="tail" d="M879.42 146.35c32.525-29.2 98.488-61.128 136.65-64.25-66.304 53.08-66.485 85.228-73.308 129.95s-31.785 104.41-29.228 191.34c2.334 79.365 32.144 153.89 38.554 200.36s2.584 85.817 63.078 135.66c-37.25-2.303-119.38-45.23-133.51-58.795-55.168-52.97-35.343-128.25-25.104-171.91 17.702-75.49-25.09-44.893-39-98.25 13.91-53.358 55.867-26.254 39.282-100.53-8.57-38.376-32.233-114.37 22.58-163.58z"
fill="coral" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5" transform="matrix(.8715 0 0 .8574 -11.782 -31.657)"
/>
<path class="top-finn" d="M476.54 164.03c31.92-14.784 57.418-25.23 84.893-32.808s63.49-15.874 122.68-23.67c-60.114 47.205-57.4 67.512-37.792 104.92-11.006-5.393-38.82-20.01-67.303-26.895-34.763-8.404-51.818-7.263-79.346-7.457s-46.724 5.308-55.44 8.167c-8.02 2.63-3.92-4.207 32.314-22.257z"
fill="coral" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5" transform="matrix(.8715 0 0 .8574 -11.782 -31.657)"
/>
<path class="fish-face" d="M588.07 400.18c0 57.47-22.2 109.53-58.076 147.21s-97.634 60.568-123.29 60.885c-16.332.202-156.19-33.57-192.07-71.258-41.127-35.165-57.613-61.813-62.64-98.6-1.965-23.01 18.247-108.21 60.047-144.93 35.878-37.69 145.49-101.53 200.19-101.53s81.89 23.32 117.76 61.01 58.078 89.744 58.078 147.21z"
fill="orange" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5" transform="matrix(.8715 0 0 .8574 -11.782 -31.657)"
/>
<path class="fish-mouth" d="M375.59 325.14c100.45 203.24-219.75 122.9-219.75 122.9m205.41-115.09l26.262-13.7" fill="none"
stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5" transform="matrix(.8715 0 0 .8574 -11.782 -31.657)"
/>
<path class="fish-body" d="M502.22 175.85c-34.267 0-66.994 5.684-97 15.945 96.538 33.01 164.81 113.77 164.81 208.12s-68.273 175.14-164.81 208.16c30.006 10.26 62.732 15.945 97 15.945 72.26 0 137.71-25.103 185.1-65.667 23.694-20.282 63.923-69.753 116.6-94.258s71.806-24.045 71.806-54.967-24.19-32.12-76.868-61.226-87.846-86.122-111.54-106.4c-47.387-40.556-112.84-65.652-185.1-65.652z"
fill="#ff4500" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5.006" transform="matrix(.8715 0 0 .8574 -11.782 -31.657)"
/>
<g class="front-finn">
<path d="M634.72 775.1c-33.585 62.113-109.38-9.405-127.88-40.656-20.997-33.278-34.915-77.19 18-160.63 7.392-9.693-4.554-27.644 33.604-24.312 24.736 2.16 3.667 34.484 19.95 51.974 18.013 16.735 37.725 44.57 50.116 69.017 14.302 28.216 23.132 72.162 6.206 104.61z"
fill="coral" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="5" transform="matrix(.8715 0 0 .8574 -11.782 -31.657)"
/>
</g>
<ellipse class="front-eye" cx="252" cy="215" rx="50" ry="50" stroke="#080A01" stroke-width="4" fill="#fff" />
<ellipse class="eye-pupil" transform="translate(-162.772 -21.21)" cx="415.531" cy="236.371" rx="15" ry="15" />
</g>
</svg>
</div>
</body>
</html>

Comment ( 0 )

You need to Sign in for post a comment

Help Search