#container
.clamp_stand
.vertical_bar
.horizontal_clamp
.clamp_lever
.clamp_end
.round_flask
.flask_top
.top_right
.top_left
.circle
.fill
.markings
.marking
.marking
.marking
.bubbles
- for (var i = 0; i < 6; i++)
.bubble
.horizontal_clamp
.clamp_lever
.clamp_end
.test_tube
.top_left
.top_right
.fill
.markings
.marking
.marking
.marking
.bubbles
- for (var i = 0; i < 8; i++)
.bubble
.clamp_end
.test_tube
.top_left
.top_right
.fill
.markings
.marking
.marking
.marking
.bubbles
- for (var i = 0; i < 8; i++)
.bubble
.round_flask
.flask_top
.top_right
.top_left
.circle
.fill
.markings
.marking
.marking
.marking
.bubbles
- for (var i = 0; i < 6; i++)
.bubble
.floor
View Compiled
$blue: #558fff;
$dark-blue: #5855ff;
$yellow: #fbdc39;
$dark-yellow: #fbad39;
$red: #f48e77;
$dark-red: #f4554b;
$green: #9cd86e;
$dark-green: #57ac15;
$light-grey: #b6c1c1;
$grey: #838383;
$dark-grey: #686868;
@keyframes bubble_animation {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
body {
margin: 0;
width: 100vw;
}
* {
position: absolute;
}
#container {
position: relative;
margin: 5px auto;
width: 650px;
height: 450px;
}
.floor {
background-color: $grey;
height: 15px;
width: 100%;
bottom: 0;
border-radius: 10px;
}
.clamp_stand {
left: 150px;
height: 90%;
bottom: 0;
.vertical_bar {
background-color: $grey;
width: 7px;
height: 100%;
border-radius: 10px;
}
.horizontal_clamp {
background-color: $grey;
height: 7px;
width: 250px;
border-radius: 10px;
top: 30px;
left: -30px;
.clamp_lever {
height: 15px;
width: 15px;
border-radius: 100%;
border: 10px solid $grey;
background-color: $dark-grey;
top: -15px;
left: 15px;
}
.clamp_end {
background-color: $grey;
height: 20px;
width: 50px;
border-radius: 10px;
left: 95%;
top: -6px;
z-index: 10;
}
}
.horizontal_clamp:nth-child(3) {
top: 50%;
width: 200px;
left: -92px;
.clamp_lever {
left: 78px;
}
.clamp_end:nth-child(2) {
left: -20%;
}
}
}
.round_flask {
left: 213px;
top: 15px;
.flask_top {
left: 35px;
top: -29px;
}
.circle {
left: -4px;
height: 100px;
width: 100px;
border-radius: 100%;
border: 5px solid $light-grey;
.fill {
width: 90%;
height: 90%;
bottom: 5px;
left: 5px;
border-radius: 100%;
background-color: $blue;
&:after {
content: "";
background-color: #fff;
height: 38%;
width: 100%;
border-radius: 100px 100px 0 0;
position: absolute;
display: block;
}
}
}
.markings {
left: 16px;
bottom: 20px;
.marking {
width: 20px;
&:nth-child(2) {
left: -10px;
bottom: 12px;
}
&:nth-child(3) {
left: -12px;
bottom: 28px;
}
}
}
.bubbles {
left: 54px;
top: 82px;
.bubble {
background-color: $dark-blue;
}
}
&:nth-child(2) {
top: 305px;
left: unset;
right: 150px;
.fill {
background-color: $yellow;
}
.circle {
height: 120px;
width: 120px;
}
.flask_top {
width: 40px;
top: -27px;
.top_right {
left: 42px;
}
}
.markings {
bottom: 25px;
left: 14px;
marking:nth-child(2) {
left: -6px;
}
}
.bubbles {
left: 61px;
top: 105px;
.bubble {
background-color: $dark-yellow;
}
}
}
}
.test_tube {
height: 140px;
width: 25px;
border-radius: 0 0 10px 10px;
border: 5px solid $light-grey;
border-top: none;
left: -33px;
top: -40px;
.fill {
background-color: $red;
width: 80%;
height: 50%;
border-radius: 0 0 5px 5px;
bottom: 2px;
left: 2px;
}
.markings {
bottom: 20px;
}
.bubbles {
bottom: 15px;
left: 8px;
.bubble {
background-color: $dark-red;
&:nth-child(2n) {
width: 5px;
height: 5px;
left: -5px;
}
&:nth-child(2n + 1) {
left: 2px;
}
&:nth-child(3) {
left: -2px;
}
&:nth-child(7) {
bottom: 75px;
}
&:nth-child(8) {
bottom: 85px;
}
}
}
}
.test_tube:last-of-type {
left: 198px;
top: -20px;
.fill {
background-color: $green;
}
.bubble {
background-color: $dark-green;
}
}
.marking {
z-index: 3;
background-color: #fff;
height: 3px;
width: 15px;
border-radius: 0px 5px 5px 0px;
&:nth-child(3n + 2) {
bottom: 15px;
}
&:nth-child(3n) {
bottom: 32px;
}
}
.top_left,
.top_right {
width: 10px;
height: 5px;
background-color: $light-grey;
left: -11px;
border-radius: 10px;
}
.top_right {
left: 26px;
}
.flask_top {
z-index: 1;
width: 20px;
height: 35px;
background-color: #fff;
border-right: 5px solid $light-grey;
border-left: 5px solid $light-grey;
.top_right {
left: 21px;
}
}
.bubble {
z-index: 2;
height: 10px;
width: 10px;
border-radius: 10px;
opacity: 0;
animation-name: bubble_animation;
animation-direction: alternate;
animation-duration: 1s;
animation-iteration-count: infinite;
&:nth-child(2n) {
right: 12px;
}
&:nth-child(2) {
bottom: 5px;
animation-delay: .2s;
}
&:nth-child(3) {
bottom: 17px;
left: 10px;
height: 15px;
width: 15px;
animation-delay: .4s;
}
&:nth-child(4) {
bottom: 35px;
height: 7px;
width: 7px;
right: 5px;
animation-delay: .6s;
}
&:nth-child(5) {
bottom: 50px;
left: 2px;
animation-delay: .8s;
}
&:nth-child(6) {
bottom: 65px;
right: 5px;
height: 7px;
width: 7px;
animation-delay: 1s;
}
&:nth-child(7) {
animation-delay: 1.2s;
}
&:nth-child(8) {
animation-delay: 1.4s;
}
}
View Compiled
This Pen doesn't use any external CSS resources.