Mode:
Duration:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
.ripple-button {
position: relative;
overflow: hidden;
padding: 1rem 2rem;
border: none;
border-radius: 8px;
background: #007bff;
color: white;
cursor: pointer;
}
.ripple-button::after {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: rgba(255,255,255,0.3);
top: 0;
left: 0;
transform: scale(0);
border-radius: 50%;
transition: transform 0.5s, opacity 1s;
}
.ripple-button:active::after {
transform: scale(2);
opacity: 0;
transition: 0s;
}Coding works best on desktop or with an external keyboard.