<p>hover over it!</p>
<div class="teaser">
<h3>blend-mode with pseudos</h3>
<p>Deleniti atque error quidem eaque eligendi ad, pariatur minima quisquam omnis veniam, sint voluptas, a ipsam illum debitis. Voluptatem esse, consectetur qui.</p>
</div>
.teaser {
backface-visibility: hidden;
border: 1px solid #ccc;
border-radius: 3px;
padding: 1em;
max-width: 300px;
overflow: hidden;
position: relative;
&:before,
&:after {
content: '';
border-radius: 50%;
display: block;
width: 300px;
height: 300px;
position: absolute;
right: -150px;
bottom: -150px;
transition: all 300ms ease-out;
}
&:before {
@supports (mix-blend-mode: difference) {
background-color: white;
mix-blend-mode: difference;
}
z-index: 1;
pointer-events: none;
}
&:after {
background-color: #e20074;
@supports (mix-blend-mode: difference) {
background-color: adjust-hue(#e20074, 180); //#e20074; <- desired color, complementary color does not match exactly
//filter: hue-rotate(-180deg) brightness(2);
}
z-index: -1;
}
&:hover {
@supports not (mix-blend-mode: difference) {
color: white;
}
&:before,
&:after {
transform: scale(3);
}
}
}
// defaults
*, *:after, *:before {
box-sizing: border-box;
}
body {
margin: 1em;
}
View Compiled
/* all you need is CSS */
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.