-
Notifications
You must be signed in to change notification settings - Fork 136
Expand file tree
/
Copy pathbutton.css
More file actions
118 lines (104 loc) · 2.42 KB
/
Copy pathbutton.css
File metadata and controls
118 lines (104 loc) · 2.42 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
* {
box-sizing: border-box;
}
body {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: radial-gradient(circle at 20% 20%, #0f2027, #203a43, #2c5364);
font-family: 'Orbitron', sans-serif;
overflow: hidden;
}
.cyber-container {
perspective: 1200px;
}
.cyber-btn {
position: relative;
width: 200px;
height: 70px;
background: transparent;
border: none;
cursor: pointer;
border-radius: 16px;
overflow: hidden;
transition: transform 0.4s ease;
}
.cyber-inner {
position: relative;
width: 100%;
height: 100%;
transform-style: preserve-3d;
transition: transform 1s cubic-bezier(0.4, 0.2, 0.2, 1);
}
.cyber-btn:hover .cyber-inner {
transform: rotateY(180deg);
}
.cyber-front,
.cyber-back {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 18px;
letter-spacing: 3px;
border-radius: 16px;
text-transform: uppercase;
font-weight: 600;
backface-visibility: hidden;
box-shadow: 0 0 20px rgba(0,255,255,0.3),
inset 0 0 15px rgba(255,255,255,0.1);
}
.cyber-front {
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(6px);
border: 1px solid rgba(0, 255, 255, 0.4);
text-shadow: 0 0 8px cyan;
}
.cyber-back {
background: linear-gradient(135deg, #ff00cc, #333399);
transform: rotateY(180deg);
box-shadow: 0 0 25px rgba(255, 0, 255, 0.4);
}
.cyber-btn:hover .cyber-front {
color: #0ff;
box-shadow: 0 0 25px cyan, inset 0 0 20px rgba(0,255,255,0.3);
}
.cyber-btn:hover .cyber-back {
box-shadow: 0 0 30px magenta, inset 0 0 25px rgba(255,0,255,0.3);
}
.surge-wave {
position: absolute;
border-radius: 50%;
background: radial-gradient(circle, rgba(0,255,255,0.5) 0%, rgba(255,0,255,0) 70%);
transform: scale(0);
animation: surge 0.9s ease-out forwards;
pointer-events: none;
}
@keyframes surge {
0% {
transform: scale(0);
opacity: 1;
}
100% {
transform: scale(5);
opacity: 0;
}
}
.cyber-btn::before {
content: '';
position: absolute;
inset: 0;
border-radius: 16px;
border: 2px solid transparent;
background: linear-gradient(90deg, #00fff0, #ff00f0, #00fff0) border-box;
mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
mask-composite: exclude;
animation: borderFlow 3s linear infinite;
}
@keyframes borderFlow {
0% { filter: hue-rotate(0deg); }
100% { filter: hue-rotate(360deg); }
}