Using contrast() to posterise the image, in turn rounding the overlapped blurred regions of the two circles to a block colour.
A Pen by Sam Jarvis on CodePen.
.box | |
.one | |
.two |
Using contrast() to posterise the image, in turn rounding the overlapped blurred regions of the two circles to a block colour.
A Pen by Sam Jarvis on CodePen.
body, | |
html { | |
height:100%; | |
} | |
body { | |
text-align:center; | |
background-color:black; | |
&:before { | |
content:""; | |
display:inline-block; | |
height:100%; | |
vertical-align:middle; | |
} | |
} | |
@keyframes pulse { | |
70% { | |
background-color:lighten(purple, 50); | |
} | |
} | |
.box { | |
-webkit-filter:contrast(30); | |
background-color:black; | |
font-size:10em; | |
padding:0.5em; | |
position:relative; | |
color:mix(white, black, 50%); | |
border:2px solid; | |
width:1em; | |
height:1em; | |
display:inline-block; | |
vertical-align:middle; | |
transition:background-color 2s linear; | |
&:before { | |
content:"hover"; | |
font-size:14px; | |
position:absolute; | |
bottom:104%; | |
left:0; | |
} | |
&:after { | |
content:"or click"; | |
font-size:14px; | |
position:absolute; | |
top:104%; | |
right:0; | |
} | |
&:hover { | |
background-color:lighten(purple, 30); | |
animation:pulse 5s ease-in infinite; | |
} | |
&:active { | |
background-color:black; | |
-webkit-filter:contrast(50) invert(1) ; | |
animation:none; | |
} | |
} | |
@keyframes swayx { | |
50% { | |
left:75%; | |
} | |
} | |
@keyframes swayy { | |
50% { | |
top:75%; | |
} | |
} | |
@keyframes color { | |
@for $i from 1 through 7 { | |
#{percentage($i/7)} { | |
background-color:adjust-hue( red, percentage($i/7)); | |
} | |
} | |
} | |
.circle { | |
border-radius:50%; | |
height:1em; | |
width:1em; | |
-webkit-filter:blur(25px); | |
position:absolute; | |
background-color:white; | |
margin:auto; | |
top:0; | |
left:0; | |
right:0; | |
bottom:0; | |
} | |
.one { | |
@extend .circle; | |
animation: | |
color 12s linear infinite alternate; | |
} | |
.two { | |
@extend .circle; | |
font-size:0.75em; | |
left:-75%; | |
top:-75%; | |
animation: | |
swayx 3s ease-in-out infinite, | |
swayy 3.3s ease-in-out infinite,//apparent chaos | |
color 16s linear infinite alternate-reverse; | |
} |