14
14
align-items : center;
15
15
flex-wrap : wrap;
16
16
}
17
-
18
17
.btn {
19
18
font-family : sans-serif;
20
19
margin : 30px ;
@@ -27,10 +26,95 @@ body{
27
26
outline : none;
28
27
position : relative;
29
28
cursor : pointer;
29
+ width : fit-content;
30
30
letter-spacing : 1px ;
31
31
--background-color : # ffffff ;
32
32
--border-size : 2px ;
33
33
}
34
+ .content-screen {
35
+ margin-top : 30px ;
36
+ display : flex;
37
+ justify-content : space-evenly;
38
+ align-items : center;
39
+ flex-wrap : wrap;
40
+ width : 75% ;
41
+ }
42
+ .btn .btn-border-pop ::before {
43
+ content : '' ;
44
+ position : absolute;
45
+ top : 0 ;
46
+ left : 0 ;
47
+ right : 0 ;
48
+ bottom : 0 ;
49
+ z-index : -1 ;
50
+ /* background-color: red; */
51
+ border : var (--border-size ) solid rgb (238 , 18 , 18 );
52
+ transition : top, left, right, bottom, 100ms ease-in-out;
53
+
54
+ }
55
+
56
+ .btn .btn-border-pop : hover ::before ,
57
+ .btn .btn-border-pop : focus ::before {
58
+ top : calc (var (--border-size ) * -4 );
59
+ left : calc (var (--border-size ) * -4 );
60
+ right : calc (var (--border-size ) * -4 );
61
+ bottom : calc (var (--border-size ) * -4 );
62
+ }
63
+
64
+
65
+ .btn .btn-background-slide ::before {
66
+ content : '' ;
67
+ position : absolute;
68
+ top : 0 ;
69
+ left : 0 ;
70
+ right : 0 ;
71
+ bottom : 0 ;
72
+ z-index : -1 ;
73
+ background-color : rgb (13 , 48 , 241 );
74
+ transform-origin : left;
75
+ transform : scaleX (0 );
76
+ transition : transform 300ms ease-in-out;
77
+
78
+ }
79
+ .btn .btn-background-slide : hover ::before , .btn .btn-background-slide : focus ::before {
80
+ transform : scaleX (1 );
81
+ }
82
+
83
+ .btn .btn-background-slide {
84
+ z-index : 1 ;
85
+ transition : color 300ms ease-in-out;
86
+ /* Trick to make the background-color to display behind the text but before the background of the element */
87
+ }
88
+ .btn .btn-background-slide : hover , .btn .btn-background-slide : focus {
89
+ color : white;
90
+ }
91
+
92
+ .btn .btn-background-cover ::before {
93
+ content : '' ;
94
+ position : absolute;
95
+ top : 0 ;
96
+ right : 0 ;
97
+ left : 0 ;
98
+ bottom : 0 ;
99
+ background-color : white;
100
+ z-index : -1 ;
101
+ border-radius : 50% ;
102
+ transition : transform 400ms ease-in-out;
103
+ transform : scale (1.5 )
104
+ }
105
+
106
+ .btn .btn-background-cover {
107
+ z-index : 1 ;
108
+ background-color : chartreuse;
109
+ overflow : hidden;
110
+ transition : color 300ms ease-in-out;
111
+ }
112
+ .btn .btn-background-cover : hover , .btn .btn-background-cover : focus {
113
+ color : white;
114
+ }
115
+ .btn .btn-background-cover : hover ::before , .btn .btn-background-cover : focus ::before {
116
+ transform : scale (0 );
117
+ }
34
118
35
119
.btn .btn-underline ::before {
36
120
content : '' ;
@@ -51,12 +135,12 @@ body{
51
135
}
52
136
53
137
54
- a span {
138
+ . btn . btn-border-race a span {
55
139
display : block ;
56
140
position : absolute;
57
141
background : rgb (247 , 11 , 11 );
58
142
}
59
- a span : nth-child (1 ){
143
+ . btn . btn-border-race a span : nth-child (1 ){
60
144
/* left border */
61
145
left : 0 ;
62
146
top : 0 ;
@@ -69,11 +153,11 @@ body{
69
153
/* transition-delay: 0.5s; */
70
154
71
155
}
72
- a : hover span : nth-child (1 ){
156
+ . btn . btn-border-race a : hover span : nth-child (1 ){
73
157
transform : scaleY (1 );
74
158
transform-origin : bottom;
75
159
}
76
- a span : nth-child (2 ){
160
+ . btn . btn-border-race a span : nth-child (2 ){
77
161
/* top border */
78
162
top : 0 ;
79
163
left : 0 ;
@@ -84,12 +168,12 @@ body{
84
168
transition : transform 0.5s ;
85
169
transition-delay : 0.5s ;
86
170
}
87
- a : hover span : nth-child (2 ){
171
+ . btn . btn-border-race a : hover span : nth-child (2 ){
88
172
transform : scaleX (1 );
89
173
transform-origin : left;
90
174
}
91
175
92
- a span : nth-child (3 ){
176
+ . btn . btn-border-race a span : nth-child (3 ){
93
177
/* bottom border */
94
178
left : 0 ;
95
179
bottom : 0 ;
@@ -101,12 +185,12 @@ body{
101
185
/* transition-delay: 0.5s; */
102
186
103
187
}
104
- a : hover span : nth-child (3 ){
188
+ . btn . btn-border-race a : hover span : nth-child (3 ){
105
189
transform : scaleX (1 );
106
190
transform-origin : left;
107
191
}
108
192
109
- a span : nth-child (4 ){
193
+ . btn . btn-border-race a span : nth-child (4 ){
110
194
/* right border */
111
195
right : 0 ;
112
196
bottom : 0 ;
@@ -117,7 +201,7 @@ body{
117
201
transition : transform 0.5s ;
118
202
transition-delay : 0.5s ;
119
203
}
120
- a : hover span : nth-child (4 ){
204
+ . btn . btn-border-race a : hover span : nth-child (4 ){
121
205
transform : scaleY (1 );
122
206
transform-origin : bottom;
123
207
}
0 commit comments