.container {
display: flex;
flex-direction: column;
border: 2px solid blue;
}
.mainCont {
display: flex;
background-color: #f2f2f2;
min-height: 5em;
justify-content: space-between;
}
.btn-group {
display: flex;
flex-direction: column;
justify-content: center;
width: 6em;
}
.allButton,
.onButton,
.offButton {
display: flex;
justify-content: space-between;
align-items: center;
}
#circleAll {
display: inline-flex;
align-items: flex-start;
background-color: blue;
border-radius: 50%;
width: .5em;
height: .5em;
}
<!DOCTYPE html>
<head>
<title>testpage</title>
</head>
<body>
<div class="container">
<!--main container-->
<div class='mainCont'>
<!--heading container-->
<h3 id="twitchHead">TWITCH STREAMERS</h3>
<div class="btn-group">
<button class='allButton'><span id="circleAll"></span><span id="onAll">All</span></button>
<button class='onButton'><span id="circleAll"></span><span id="on1">Online</span></button>
<button class='offButton'><span id="circleAll"></span><span id="off1">Offline</span></button>
</div>
</body>
Initially, only the blue circles should be visible. When a user hovers over one of them, it slides out left to reveal if it's an All/Online/Offline button. Only one should be visible at a time.
I have experience with sliding out and hover effects, but struggling to hide the buttons and text while displaying only the blue dot part when the mouse is not over it.
What would be the best way to achieve this effect?