<div class="container">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box box--selected"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
body {
min-height: 100vh;
margin: 0;
display: flex;
justify-content: center;
align-items: center;
}
.container {
display: grid;
grid-gap: 20px;
grid-template-columns: repeat(3, min-content);
&:hover {
& > .box {
opacity: 0.5;
&--selected {
opacity: 1;
}
}
}
}
.box {
width: 100px;
height: 100px;
background: tomato;
transition: opacity 0.2s ease-in-out;
&--selected {
box-shadow: inset 0 0 0 10px rgba(0, 0, 0, 0.2);
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.