Back
An exciting twist on the traditional text input, incorporating a kaleidoscope-inspired spinner to mesmerize users.
<div class="kaleido-container">
<input type="text" class="kaleido-input" placeholder="Type here...">
<div class="kaleido-spinner">
<div class="kaleido-piece"></div>
<div class="kaleido-piece"></div>
<div class="kaleido-piece"></div>
<div class="kaleido-piece"></div>
</div>
</div>
document.querySelector('.kaleido-input').addEventListener('input', () => {
document.querySelector('.kaleido-spinner').classList.add('active');
setTimeout(() => {
document.querySelector('.kaleido-spinner').classList.remove('active');
}, 1000);
});
.kaleido-container {
position: relative;
display: flex;
align-items: center;
border: 1px solid #ccc;
border-radius: 12px;
padding: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(10px);
}
.kaleido-input {
background-color: transparent;
width: 100%;
border: none;
outline: none;
font-size: 16px;
padding: 5px 10px;
}
.kaleido-spinner {
display: flex;
position: absolute;
right: 15px;
width: 20px;
height: 20px;
transition: transform 0.5s;
}
.kaleido-piece {
background-color: #ff6f61;
width: 5px;
height: 5px;
margin: 1px;
border-radius: 50%;
transform-origin: 5px 5px;
transform: rotate(45deg);
}
.kaleido-spinner.active {
transform: rotate(360deg);
}
<div class="kaleido-container">
<input type="text" class="kaleido-input" placeholder="Type here...">
<div class="kaleido-spinner">
<div class="kaleido-piece"></div>
<div class="kaleido-piece"></div>
<div class="kaleido-piece"></div>
<div class="kaleido-piece"></div>
</div>
</div>
<script>
document.querySelector('.kaleido-input').addEventListener('input', () => {
document.querySelector('.kaleido-spinner').classList.add('active');
setTimeout(() => {
document.querySelector('.kaleido-spinner').classList.remove('active');
}, 1000);
});
</script>
<style>
.kaleido-container {
position: relative;
display: flex;
align-items: center;
border: 1px solid #ccc;
border-radius: 12px;
padding: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
background: rgba(255, 255, 255, 0.6);
backdrop-filter: blur(10px);
}
.kaleido-input {
background-color: transparent;
width: 100%;
border: none;
outline: none;
font-size: 16px;
padding: 5px 10px;
}
.kaleido-spinner {
display: flex;
position: absolute;
right: 15px;
width: 20px;
height: 20px;
transition: transform 0.5s;
}
.kaleido-piece {
background-color: #ff6f61;
width: 5px;
height: 5px;
margin: 1px;
border-radius: 50%;
transform-origin: 5px 5px;
transform: rotate(45deg);
}
.kaleido-spinner.active {
transform: rotate(360deg);
}
</style>
Thank you for reading this article.
Comments
No comments yet. Be the first to comment!