|
1 | | - :root { |
| 1 | +:root { |
2 | 2 | --primary: #3b82f6; |
3 | 3 | --secondary: #a855f7; |
4 | 4 | --dark: #1e293b; |
|
225 | 225 | grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); |
226 | 226 | gap: 2rem; |
227 | 227 | } |
228 | | -.quottegory { |
| 228 | +.skill-category { |
229 | 229 | background: rgba(30,41,59,0.7); |
230 | 230 | border-radius: 15px; |
231 | 231 | padding: 2rem; |
@@ -269,69 +269,33 @@ h1 { |
269 | 269 | transform: translateX(3px); |
270 | 270 | } |
271 | 271 |
|
| 272 | +/* Typing effect */ |
272 | 273 | .quote { |
273 | | - position: relative; |
274 | | - font-family: 'Roboto Mono', monospace; |
275 | | - background: rgba(30,41,59,0.9); |
276 | | - padding: 2.5rem; |
277 | | - border-radius: 15px; |
278 | | - border-left: 6px solid var(--primary); |
279 | | - box-shadow: 0 0 15px rgba(59,130,246,0.3); |
280 | | - overflow: hidden; /* oculta lo que "no se ha escrito" */ |
281 | | - margin: 2.5rem 0; |
| 274 | + font-family: 'Roboto Mono', monospace; |
| 275 | + background: rgba(30,41,59,0.9); |
| 276 | + padding: 2.5rem; |
| 277 | + border-radius: 15px; |
| 278 | + border-left: 6px solid var(--primary); |
| 279 | + box-shadow: 0 0 15px rgba(59,130,246,0.3); |
| 280 | + overflow: hidden; |
| 281 | + margin: 2.5rem 0; |
282 | 282 | } |
283 | | - |
284 | | -/* el texto que se teclea */ |
285 | 283 | .quote span.typing { |
286 | | - display: inline-block; |
287 | | - width: 0ch; /* ⭐ ancho inicial oculto */ |
288 | | - white-space: pre-wrap; /* respeta saltos de línea */ |
289 | | - word-break: break-word; /* permite partir palabras largas */ |
290 | | - overflow: hidden; /* oculta lo que excede el width */ |
291 | | - font-size: 1.3rem; |
292 | | - line-height: 1.6; |
293 | | - animation: typing 4s steps(80) forwards; /* 80 ≈ número de caracteres */ |
294 | | -} |
295 | | - |
296 | | -/* cursor parpadeante */ |
297 | | -.quote span.typing::after { |
298 | | - content: ''; |
299 | | - display: inline-block; |
300 | | - width: 2px; |
301 | | - height: 1.6em; |
302 | | - background: var(--primary); |
303 | | - margin-left: 2px; |
304 | | - vertical-align: bottom; |
305 | | - animation: blink-caret .75s step-end infinite; |
| 284 | + display: inline-block; |
| 285 | + overflow: hidden; |
| 286 | + white-space: nowrap; |
| 287 | + border-right: 2px solid var(--primary); |
| 288 | + animation: typing 5s steps(60) forwards, blink-caret .75s step-end infinite; |
306 | 289 | } |
307 | | - |
308 | 290 | @keyframes typing { |
309 | | - from { width: 0ch; } |
310 | | - to { width: 80ch; } /* mismo valor que en steps() */ |
| 291 | + from { width: 0; } |
| 292 | + to { width: 100%; } |
311 | 293 | } |
312 | | - |
313 | 294 | @keyframes blink-caret { |
314 | | - 0%,100% { opacity: 0; } |
315 | | - 50% { opacity: 1; } |
| 295 | + 0%,100% { border-color: transparent; } |
| 296 | + 50% { border-color: var(--primary); } |
316 | 297 | } |
317 | 298 |
|
318 | | -/* autor tras el texto */ |
319 | | -.quote span.author { |
320 | | - display: block; |
321 | | - opacity: 0; |
322 | | - margin-top: 0.5rem; |
323 | | - font-size: 1.3rem; |
324 | | - line-height: 1.6; |
325 | | - animation: fadeInAuthor 1s ease forwards; |
326 | | - animation-delay: 4s; |
327 | | -} |
328 | | -@keyframes fadeInAuthor { |
329 | | - from { opacity: 0; transform: translateY(10px); } |
330 | | - to { opacity: 1; transform: translateY(0); } |
331 | | -} |
332 | | - |
333 | | - |
334 | | - |
335 | 299 | /* Roadmap */ |
336 | 300 | .roadmap-container { |
337 | 301 | overflow-x: auto; |
|
0 commit comments