Translsis commited on
Commit
9ca53a0
·
verified ·
1 Parent(s): 398d876

Upload index (1).html

Browse files
Files changed (1) hide show
  1. index (1).html +237 -0
index (1).html ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
6
+ <title>XQ Thối</title>
7
+ <style>
8
+ html, body {
9
+ margin: 0;
10
+ padding: 0;
11
+ overflow: hidden;
12
+ height: 100vh;
13
+ width: 100vw;
14
+ font-family: 'Arial Rounded MT Bold', sans-serif;
15
+ background: linear-gradient(to bottom right, #ffffff, #f7e9d2);
16
+ }
17
+
18
+ /* Khung chữ */
19
+ .container {
20
+ position: absolute;
21
+ top: 50%;
22
+ left: 50%;
23
+ transform: translate(-50%, -50%);
24
+ border: 5px solid #8B4513; /* Khung bao quanh chữ */
25
+ padding: 40px;
26
+ border-radius: 20px;
27
+ background-color: rgba(255, 255, 255, 0.3); /* Màu nền trong suốt hơn để thấy video */
28
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); /* Hiệu ứng bóng đổ cho khung */
29
+ overflow: hidden;
30
+ }
31
+
32
+ /* Video nền cho container */
33
+ .video-background {
34
+ position: absolute;
35
+ top: 0;
36
+ left: 0;
37
+ width: 100%;
38
+ height: 100%;
39
+ object-fit: cover;
40
+ z-index: -1;
41
+ border-radius: 15px;
42
+ }
43
+
44
+ h1 {
45
+ font-size: 6rem;
46
+ color: #8B4513;
47
+ text-shadow: 0 0 25px #d2b48c, 0 0 40px #8B4513;
48
+ display: flex;
49
+ flex-direction: column;
50
+ align-items: center;
51
+ gap: 20px;
52
+ margin: 0;
53
+ position: relative;
54
+ z-index: 1;
55
+ }
56
+
57
+ .letter {
58
+ display: inline-block;
59
+ animation: floaty 3s ease-in-out infinite;
60
+ }
61
+
62
+ @keyframes floaty {
63
+ 0% { transform: translateY(0) rotate(0deg); }
64
+ 25% { transform: translateY(-8px) rotate(1deg); }
65
+ 50% { transform: translateY(0) rotate(0deg); }
66
+ 75% { transform: translateY(8px) rotate(-1deg); }
67
+ 100% { transform: translateY(0) rotate(0deg); }
68
+ }
69
+
70
+ .emoji {
71
+ position: absolute;
72
+ font-size: 26px;
73
+ animation: pop 1s ease-out forwards;
74
+ color: #8B4513;
75
+ pointer-events: none;
76
+ }
77
+
78
+ @keyframes pop {
79
+ 0% { transform: scale(1); opacity: 1; }
80
+ 100% { transform: scale(2); opacity: 0; top: -40px; }
81
+ }
82
+
83
+ .spider {
84
+ position: absolute;
85
+ font-size: 40px;
86
+ pointer-events: none;
87
+ transition: transform 0.1s linear;
88
+ }
89
+
90
+ .baby-spider {
91
+ position: absolute;
92
+ font-size: 20px;
93
+ pointer-events: none;
94
+ transition: transform 0.1s linear;
95
+ }
96
+
97
+ /* Khung hoa văn */
98
+ .border-frame {
99
+ position: absolute;
100
+ top: 0;
101
+ left: 0;
102
+ width: 100vw;
103
+ height: 100vh;
104
+ background-image: url('https://www.transparenttextures.com/patterns/circuit-board.png');
105
+ background-size: cover;
106
+ z-index: -1;
107
+ }
108
+ </style>
109
+ </head>
110
+ <body>
111
+
112
+ <!-- Khung hoa văn -->
113
+ <div class="border-frame"></div>
114
+
115
+ <!-- Khung chữ với nội dung -->
116
+ <div class="container">
117
+ <video class="video-background" autoplay loop muted playsinline>
118
+ <source src="video.mp4" type="video/mp4">
119
+ </video>
120
+ <h1>
121
+ <span class="letter">XQ</span>
122
+ <span class="letter">Thối</span>
123
+ <span class="letter">💗</span>
124
+ </h1>
125
+ </div>
126
+
127
+ <div id="spider" class="spider">💗</div>
128
+ <audio id="bg-music" src="music.mp3" autoplay loop hidden></audio>
129
+
130
+ <script>
131
+ const spider = document.getElementById('spider');
132
+ const music = document.getElementById('bg-music');
133
+ let mouseX = window.innerWidth / 2;
134
+ let mouseY = window.innerHeight / 2;
135
+ let spiderX = mouseX, spiderY = mouseY;
136
+
137
+ // Nhện con (ở các góc màn hình)
138
+ const babySpiders = [
139
+ { x: 0, y: 0, speed: 0.02 },
140
+ { x: window.innerWidth, y: 0, speed: 0.03 },
141
+ { x: 0, y: window.innerHeight, speed: 0.04 },
142
+ { x: window.innerWidth, y: window.innerHeight, speed: 0.05 }
143
+ ];
144
+
145
+ // Tạo nhện con ở các góc
146
+ babySpiders.forEach(spiderData => {
147
+ const babySpider = document.createElement('div');
148
+ babySpider.className = 'baby-spider';
149
+ babySpider.innerText = '💗';
150
+ document.body.appendChild(babySpider);
151
+ moveSpiderToCursor(babySpider, spiderData.x, spiderData.y, spiderData.speed);
152
+ });
153
+
154
+ // Di chuyển nhện con về vị trí của chuột
155
+ function moveSpiderToCursor(spiderElement, x, y, speed) {
156
+ let targetX = x;
157
+ let targetY = y;
158
+ function move() {
159
+ const dx = mouseX - targetX;
160
+ const dy = mouseY - targetY;
161
+ targetX += dx * speed;
162
+ targetY += dy * speed;
163
+ spiderElement.style.transform = `translate(${targetX}px, ${targetY}px)`;
164
+ requestAnimationFrame(move);
165
+ }
166
+ move();
167
+ }
168
+
169
+ // Hàm random chọn emoji
170
+ function getRandomEmoji() {
171
+ const emojis = ['💗', '💗', '❣'];
172
+ return emojis[Math.floor(Math.random() * emojis.length)];
173
+ }
174
+
175
+ // Hàm tạo emoji ngẫu nhiên
176
+ function createEmoji(x, y) {
177
+ const emoji = document.createElement('div');
178
+ emoji.className = 'emoji';
179
+ emoji.innerText = getRandomEmoji(); // Chọn ngẫu nhiên emoji
180
+ emoji.style.left = `${x}px`;
181
+ emoji.style.top = `${y}px`;
182
+ document.body.appendChild(emoji);
183
+ setTimeout(() => emoji.remove(), 1000); // Xóa emoji sau 1 giây
184
+ }
185
+
186
+ document.addEventListener('mousemove', (e) => {
187
+ mouseX = e.clientX;
188
+ mouseY = e.clientY;
189
+ createEmoji(e.clientX, e.clientY); // Tạo emoji khi di chuyển chuột
190
+ });
191
+
192
+ document.addEventListener('click', (e) => {
193
+ createEmoji(e.clientX, e.clientY); // Tạo emoji khi click chuột
194
+ spiderX = e.clientX;
195
+ spiderY = e.clientY;
196
+ });
197
+
198
+ document.addEventListener('touchmove', (e) => {
199
+ const touch = e.touches[0];
200
+ mouseX = touch.clientX;
201
+ mouseY = touch.clientY;
202
+ createEmoji(mouseX, mouseY); // Tạo emoji khi vuốt trên màn hình
203
+ });
204
+
205
+ document.addEventListener('touchstart', (e) => {
206
+ const touch = e.touches[0];
207
+ createEmoji(touch.clientX, touch.clientY); // Tạo emoji khi chạm vào màn hình
208
+ spiderX = touch.clientX;
209
+ spiderY = touch.clientY;
210
+ });
211
+
212
+ // Bỏ qua block autoplay của trình duyệt
213
+ document.addEventListener('click', () => {
214
+ music.play();
215
+ }, { once: true });
216
+
217
+ // Di chuyển nhện lớn (về vị trí cũ nếu không tương tác)
218
+ function moveSpider() {
219
+ const dx = mouseX - spiderX;
220
+ const dy = mouseY - spiderY;
221
+ spiderX += dx * 0.2; // Tăng tốc độ di chuyển của nhện
222
+ spiderY += dy * 0.2;
223
+ spider.style.transform = `translate(${spiderX}px, ${spiderY}px)`;
224
+
225
+ // Nếu không có sự thay đổi lớn trong khoảng thời gian nhất định, nhện sẽ trở về vị trí ban đầu
226
+ if (Math.abs(dx) < 1 && Math.abs(dy) < 1) {
227
+ spiderX = window.innerWidth / 2;
228
+ spiderY = window.innerHeight / 2;
229
+ }
230
+
231
+ requestAnimationFrame(moveSpider);
232
+ }
233
+
234
+ moveSpider();
235
+ </script>
236
+ </body>
237
+ </html>