src/styles/ClickArea.css (view raw)
1.click-area {
2 position: relative;
3 width: 100%;
4 height: 200px;
5 background-color: #f8f9fa;
6 border-radius: 10px;
7 display: flex;
8 justify-content: center;
9 align-items: center;
10 cursor: pointer;
11 overflow: hidden;
12 box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
13 user-select: none;
14 margin-bottom: 20px;
15}
16
17.click-button {
18 width: 150px;
19 height: 150px;
20 background: linear-gradient(135deg, #3498db, #2980b9);
21 border-radius: 50%;
22 display: flex;
23 justify-content: center;
24 align-items: center;
25 color: white;
26 font-weight: bold;
27 font-size: 20px;
28 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
29 transition: transform 0.05s, box-shadow 0.05s;
30}
31
32.click-area:active .click-button {
33 transform: scale(0.95);
34 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
35}
36
37.click-effect {
38 position: absolute;
39 width: 50px;
40 height: 50px;
41 background-color: rgba(255, 255, 255, 0.7);
42 border-radius: 50%;
43 pointer-events: none;
44 transform: translate(-50%, -50%);
45 animation: clickRipple 0.3s ease-out;
46}
47
48@keyframes clickRipple {
49 0% {
50 opacity: 1;
51 transform: translate(-50%, -50%) scale(0);
52 }
53 100% {
54 opacity: 0;
55 transform: translate(-50%, -50%) scale(3);
56 }
57}
58
59/* Mobile optimization */
60@media (max-width: 576px) {
61 .click-area {
62 height: 180px;
63 }
64
65 .click-button {
66 width: 120px;
67 height: 120px;
68 font-size: 16px;
69 }
70}