You can achieve this, but you'll need a little JavaScript. Don't worry, it's nothing too complicated. What you can do is get the dimensions for each circle using the element.getBoundingClientRect()
method, like so...
let blue = document.querySelector(".circle-blue").getBoundingClientRect();
let purple = document.querySelector(".circle-purple").getBoundingClientRect();
let pink = document.querySelector(".circle-pink").getBoundingClientRect();
And then each time the user mover the mouse, you can test whether or not the mouse is over a given element, and if it is, you can scale it REGARDLESS of what element is overlapping another, therefore causing any circle to scale, including circles included in the intersection...
let blue = document.querySelector(".circle-blue").getBoundingClientRect();
let purple = document.querySelector(".circle-purple").getBoundingClientRect();
let pink = document.querySelector(".circle-pink").getBoundingClientRect();
window.addEventListener("mousemove", (e) => {
let x = e.pageX,y = e.pageY;
//test blue...
if (x > blue.left && x < blue.right && y > blue.top && y < blue.bottom) {
// if mouse is over element, scale it...
document.querySelector(".circle-blue").style.transform = "scale(1.2)";
} else {
// otherwise, dont scale it...
document.querySelector(".circle-blue").style.transform = "scale(1)";
}
//test purple...
if (x > purple.left && x < purple.right && y > purple.top && y < purple.bottom) {
// if mouse is over element, scale it...
document.querySelector(".circle-purple").style.transform = "scale(1.2)";
} else {
// otherwise, dont scale it...
document.querySelector(".circle-purple").style.transform = "scale(1)";
}
//test pink...
if (x > pink.left && x < pink.right && y > pink.top && y < pink.bottom) {
// if mouse is over element, scale it...
document.querySelector(".circle-pink").style.transform = "scale(1.2)";
} else {
// otherwise, dont scale it...
document.querySelector(".circle-pink").style.transform = "scale(1)";
}
});
.circles-container {
position: relative;
width: 45.625rem;
height: 45.625rem;
}
.circle-blue {
position: absolute;
left: 0rem;
top: 0rem;
width: 28.4375rem;
height: 28.4375rem;
background-color: rgba(187, 231, 254, 0.6);
border-radius: 50%;
}
.circle-purple {
position: absolute;
right: 0rem;
top: 0rem;
width: 28.4375rem;
height: 28.4375rem;
background-color: rgba(211, 181, 229, 0.6);
border-radius: 50%;
}
.circle-pink {
position: absolute;
right: 8.59375rem;
left: 8.59375rem;
bottom: 0rem;
width: 28.4375rem;
height: 28.4375rem;
background-color: rgba(255, 212, 219, 0.6);
border-radius: 50%;
}
.second-section-circle {
transition: all, 1s;
}
<div class="circles-container">
<div class="circle-blue second-section-circle"></div>
<div class="circle-purple second-section-circle"></div>
<div class="circle-pink second-section-circle"></div>
</div>