Spaces:
Running
Running
| <html lang="ko"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>์ ๋๋ฉ์ด์ ๋ช ์ธ ๋ชจ์์ง</title> | |
| <style> | |
| * { | |
| margin: 0; | |
| padding: 0; | |
| box-sizing: border-box; | |
| } | |
| body { | |
| font-family: 'Arial', sans-serif; | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| min-height: 100vh; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| color: #333; | |
| padding: 20px; | |
| } | |
| .container { | |
| max-width: 800px; | |
| width: 100%; | |
| text-align: center; | |
| } | |
| .quote-display { | |
| background: rgba(255,255,255,0.95); | |
| border-radius: 20px; | |
| padding: 50px 40px; | |
| box-shadow: 0 20px 60px rgba(0,0,0,0.2); | |
| backdrop-filter: blur(10px); | |
| margin-bottom: 40px; | |
| position: relative; | |
| overflow: hidden; | |
| transition: all 0.3s ease; | |
| } | |
| .quote-display::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| height: 6px; | |
| background: linear-gradient(45deg, #ff6b6b, #4ecdc4, #45b7d1, #96ceb4); | |
| } | |
| .quote-display:hover { | |
| transform: translateY(-5px); | |
| box-shadow: 0 25px 80px rgba(0,0,0,0.3); | |
| } | |
| .quote-text { | |
| font-size: 1.8rem; | |
| line-height: 1.6; | |
| margin-bottom: 30px; | |
| color: #2c3e50; | |
| font-style: italic; | |
| position: relative; | |
| font-weight: 300; | |
| } | |
| .quote-text::before { | |
| content: '"'; | |
| font-size: 4rem; | |
| color: #3498db; | |
| position: absolute; | |
| left: -30px; | |
| top: -20px; | |
| opacity: 0.3; | |
| font-family: serif; | |
| } | |
| .quote-text::after { | |
| content: '"'; | |
| font-size: 4rem; | |
| color: #3498db; | |
| position: absolute; | |
| right: -30px; | |
| bottom: -40px; | |
| opacity: 0.3; | |
| font-family: serif; | |
| } | |
| .quote-meta { | |
| border-top: 2px solid #eee; | |
| padding-top: 25px; | |
| margin-top: 25px; | |
| } | |
| .character { | |
| font-weight: bold; | |
| color: #e74c3c; | |
| font-size: 1.3rem; | |
| margin-bottom: 8px; | |
| } | |
| .anime { | |
| color: #3498db; | |
| font-size: 1.1rem; | |
| font-weight: 500; | |
| } | |
| .random-btn { | |
| background: linear-gradient(45deg, #ff6b6b, #4ecdc4); | |
| color: white; | |
| border: none; | |
| padding: 18px 40px; | |
| border-radius: 50px; | |
| cursor: pointer; | |
| font-size: 1.2rem; | |
| font-weight: bold; | |
| transition: all 0.3s ease; | |
| box-shadow: 0 8px 25px rgba(0,0,0,0.2); | |
| text-transform: uppercase; | |
| letter-spacing: 1px; | |
| } | |
| .random-btn:hover { | |
| transform: translateY(-3px); | |
| box-shadow: 0 12px 35px rgba(0,0,0,0.3); | |
| background: linear-gradient(45deg, #ff5252, #26c6da); | |
| } | |
| .random-btn:active { | |
| transform: translateY(0); | |
| } | |
| @media (max-width: 768px) { | |
| .quote-display { | |
| padding: 30px 25px; | |
| margin-bottom: 30px; | |
| } | |
| .quote-text { | |
| font-size: 1.4rem; | |
| } | |
| .quote-text::before, | |
| .quote-text::after { | |
| font-size: 3rem; | |
| } | |
| .quote-text::before { | |
| left: -15px; | |
| top: -15px; | |
| } | |
| .quote-text::after { | |
| right: -15px; | |
| bottom: -30px; | |
| } | |
| .character { | |
| font-size: 1.1rem; | |
| } | |
| .anime { | |
| font-size: 1rem; | |
| } | |
| .random-btn { | |
| padding: 15px 30px; | |
| font-size: 1rem; | |
| } | |
| } | |
| @media (max-width: 480px) { | |
| .container { | |
| padding: 0 10px; | |
| } | |
| .quote-display { | |
| padding: 25px 20px; | |
| } | |
| .quote-text { | |
| font-size: 1.2rem; | |
| } | |
| } | |
| /* ์ ๋๋ฉ์ด์ ํจ๊ณผ */ | |
| .fade-in { | |
| animation: fadeIn 0.6s ease-in; | |
| } | |
| @keyframes fadeIn { | |
| from { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| .pulse { | |
| animation: pulse 0.3s ease-in-out; | |
| } | |
| @keyframes pulse { | |
| 0% { | |
| transform: scale(1); | |
| } | |
| 50% { | |
| transform: scale(1.05); | |
| } | |
| 100% { | |
| transform: scale(1); | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="container"> | |
| <div class="quote-display fade-in" id="quoteDisplay"> | |
| <div class="quote-text" id="quoteText"></div> | |
| <div class="quote-meta"> | |
| <div class="character" id="characterName"></div> | |
| <div class="anime" id="animeName"></div> | |
| </div> | |
| </div> | |
| <button class="random-btn" onclick="showRandomQuote()" id="randomBtn"> | |
| ์๋ก์ด ๋ช ์ธ ๋ณด๊ธฐ | |
| </button> | |
| </div> | |
| <script> | |
| // ๋ช ์ธ ๋ฐ์ดํฐ | |
| const quotes = [ | |
| // ์ผ๋ณธ ์ ๋๋ฉ์ด์ ๋ช ์ธ | |
| { text: "๋์ฅ๋ถ, ๋๋ ์ต๊ฐ์ด๋๊น.", character: "๊ณ ์ฃ ์ฌํ ๋ฃจ", anime: "์ฃผ์ ํ์ " }, | |
| { text: "๋ด๊ฐ ์ฃฝ์ ๋ ๋ฌด์จ ์ผ์ด ์๊ธธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ด์๊ฐ๋ ๋ฐฉ์ ๋๋ฌธ์ ํํ๋ ํ๊ณ ์ถ์ง ์์.", character: "์ดํ๋๋ฆฌ ์ ์ง", anime: "์ฃผ์ ํ์ " }, | |
| { text: "ํ๋ฒํ๊ฒ ์ด๋ค ํ๋ฒํ๊ฒ ์ฃฝ๊ณ ์ถ์ด. ๋ด ๊ฟ์ ์ด๋ฃจ์ด์ค.", character: "๋ด์ง", anime: "์ฒด์ธ์ ๋งจ" }, | |
| { text: "์ด๊ฑด ๊ณ์ฝ์ด์ผ. ๋ด ์ฌ์ฅ์ ์ค๊ฒ. ๋์ โฆ ๋ด์ง์ ๊ฟ์ ๋์๊ฒ ๋ณด์ฌ์ค.", character: "ํฌ์นํ", anime: "์ฒด์ธ์ ๋งจ" }, | |
| { text: "์ด ์ธ์์ ์ํนํ์ง๋ง, ๊ทธ๋๋ ์๋ฆ๋ค์.", character: "๋ฏธ์นด์ฌ ์์ปค๋ง", anime: "์ง๊ฒฉ์ ๊ฑฐ์ธ" }, | |
| { text: "๋ชฉ์จ์ ๋ถํ์๋ผ, ๋ด์ผ์ ๋ฐ๊พธ๊ธฐ ์ํด.", character: "๋ ๊ณ ์ฟ ์ฟ์ฅฌ๋ก", anime: "๊ท๋ฉธ์ ์นผ๋ " }, | |
| { text: "๋ ธ๋ ฅ์ ๋ฐ๋์ ๋ณด๋ต๋ฐ๋๋ค.", character: "๋ก ๋ฆฌ", anime: "๋๋ฃจํ " }, | |
| { text: "์จ ํ์ ๋คํด ์ด์๋ผ! ๋จ ํ ๋ฒ๋ฟ์ธ ์ธ์์ด๋๊น.", character: "๋ชฝํค D. ๋ฃจํผ", anime: "์ํผ์ค" }, | |
| { text: "ํฌ๊ธฐํ๋ฉด ๊ทธ ์๊ฐ์ด ๋ฐ๋ก ์ํฉ ์ข ๋ฃ์ผ.", character: "์๋ ธ ์ฝ์น", anime: "์ฌ๋จ๋ฉํฌ" }, | |
| { text: "๊ธฐ์ ์ ์ผ์ด๋๋ ๊ฒ ์๋์ผ, ์ผ์ผํค๋ ๊ฑฐ์ผ.", character: "์ฌ์ฟ ๋ผ๊ธฐ ํ๋๋ฏธ์น", anime: "์ฌ๋จ๋ฉํฌ" }, | |
| { text: "ํ๋ด! ์ฌ๋์ ๋ง์์ด ์๋๋ ฅ์ด๋๊น, ๋ง์์ ์ด๋๊น์ง๊ณ ๊ฐํด์ง ์ ์์ด!", character: "์นด๋ง๋ ํ์ง๋ก", anime: "๊ท๋ฉธ์ ์นผ๋ " }, | |
| { text: "๋๋ ์ ๋ ๋ฌด๋์ง์ง ์์ ๊ฑฐ์ผ!", character: "์นด๋ง๋ ํ์ง๋ก", anime: "๊ท๋ฉธ์ ์นผ๋ " }, | |
| { text: "ํค๋ถ์ธ ์ง ๋ฌด์!! ๋ ๋ค๋์ ์ ๋ ๋์น์ง ์์! ์ด๋์ ๊ฐ๋ค ํด๋!", character: "์นด๋ง๋ ํ์ง๋ก", anime: "๊ท๋ฉธ์ ์นผ๋ " }, | |
| { text: "๋์ ๋ค์ฆ์ฝ์ ์ ๋๋ ๋๊ตฌ๋ ๊ฐ๋ผ๋์ง ๋ชปํด!!", character: "์นด๋ง๋ ํ์ง๋ก", anime: "๊ท๋ฉธ์ ์นผ๋ " }, | |
| { text: "๋ง์์์ ๋ถ์ด ๊บผ์ง ์ผ์ ์๋ค!", character: "๋ ๊ณ ์ฟ ", anime: "๊ท๋ฉธ์ ์นผ๋ " }, | |
| { text: "๋ ธ๋ ฅ์ ๋ฐฐ์ ํ์ง ์์.", character: "์ฐ์ฆ๋งํค ๋๋ฃจํ ", anime: "๋๋ฃจํ " }, | |
| { text: "์์ ์ ๋ฏฟ์ง์๋ ๋ ์๋ฐ์๋ ๋ ธ๋ ฅํ ๊ฐ์น๋ ์๋ค!", character: "๋ง์ดํธ ๊ฐ์ด", anime: "๋๋ฃจํ " }, | |
| { text: "์ธ์์ ํ ๋ฐฉ์ด์ผ!", character: "์ฌ์นด๋ชจํ ๋ฃ๋ง", anime: "์ํผ์ค" }, | |
| { text: "์ฉ๊ธฐ๋ ๊ณตํฌ๋ฅผ ๊ทน๋ณตํ๋ ํ์ด์ผ.", character: "ํฌํธ๊ฑฐ์ค D. ์์ด์ค", anime: "์ํผ์ค" }, | |
| { text: "์ฌ๋์ด ์ธ์ ์ฃฝ๋๋ค๊ณ ์๊ฐํ๋?โฆ ์๋ ์ฌ๋๋ค์๊ฒ์ ์ํ์ก์๋๋ค", character: "๋ฅํฐ ํ๋ฃจ๋ฃจํฌ", anime: "์ํผ์ค" }, | |
| { text: "์ต๊ณ ์ ์๊ฐ์ ์์ง ์ค์ง ์์์ด.", character: "๋ฃจํผ", anime: "์ํผ์ค" }, | |
| { text: "์ฝํ ๋ ์์ด ๋์ ๊ฒ ์๋๋ผ, ์ฝํจ์ ์ธ์ ํ์ง ์๋ ๊ฒ์ด ๋์ ๊ฑฐ์ผ.", character: "์๋์๋ ์๋ฆญ", anime: "๊ฐ์ฒ ์ ์ฐ๊ธ์ ์ฌ" }, | |
| { text: "๊ณ ํต ์์ด๋ ์๋ฌด๊ฒ๋ ์ป์ ์ ์์ด.", character: "์๋์๋ ์๋ฆญ", anime: "๊ฐ์ฒ ์ ์ฐ๊ธ์ ์ฌ" }, | |
| { text: "๋ ๊ฐ๊ฐ ์๊ธฐ์ ์ธ๊ฐ์ ๋ ์์ค๋ฅผ ๋ฐฉ๋ฒ์ ์ฐพ๋๋ค", character: "์ฐ์นด์ด ์ผ์ด์ ", anime: "ํ์ดํ!!" }, | |
| { text: "ํ๊ณ ์ถ์ ๊ฒ ์์ผ๋ฉด ์ง๊ธ ๋น์ฅ ํด!", character: "ํ๋ํ ์ผ์", anime: "ํ์ดํ!!" }, | |
| { text: "์ฐ๋ฆฌ๋ค์ ํผ์๊ฐ ์๋์ผ", character: "๋์ธ ๋๋๊ทธ๋", anime: "ํ์ด๋ฆฌํ ์ผ" }, | |
| { text: "๊ฐํจ์ด ์ ๋ถ๊ฐ ์๋์ผ. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํจ๊ปํ๋ ์ฌ๋์ด์ผ.", character: "๋์ธ ", anime: "ํ์ด๋ฆฌํ ์ผ" }, | |
| { text: "๊ฟ์ ๋๋ง๊ฐ์ง ์์ ๋๋ง๊ฐ๋ ๊ฒ์ ์ธ์ ๋ ๋ ์์ ์ด์ง", character: "์ ํ๋ง", anime: "์งฑ๊ตฌ๋ ๋ชป๋ง๋ ค" }, | |
| { text: "๋ง์๋ฌผ์์ ์ด๋ ์๊ถ์ฐฝ์์ ์ด๋ ์์ผ๋ก ํค์์น๋ ๋ฌผ๊ณ ๊ธฐ๋ ์๋ฆ๋ต๊ฒ ์๋ผ๋ ๋ฒ์ ๋๋ค", character: "์ฝ๋ก์ผ์ธ", anime: "์์ด๊ต์ค" }, | |
| { text: "๋๋ง์น๋ฉด ์ ๋ผ. ๋๋ง์น๋ฉด ์ ๋ผ. ๋๋ง์น๋ฉด ์ ๋ผ.", character: "์ด์นด๋ฆฌ ์ ์ง", anime: "์ ์ธ๊ธฐ ์๋ฐ๊ฒ๋ฆฌ์จ" }, | |
| { text: "์ฃฝ์ด์ ์ด๊ธด๋ค์ ์ฃฝ๋๋ผ๋ ์ด๊ธด๋ค๋ ๊ฑด ์ ํ ๋ฌ๋ผ.", character: "์ดํ๋๋ฆฌ ์ ์ง", anime: "์ฃผ์ ํ์ " }, | |
| // ์์ ์ ๋๋ฉ์ด์ ๋ช ์ธ (๋์ฆ๋, ํฝ์ฌ) | |
| { text: "์๊ฐ์ ๋ง๋ฒ์ ์ด์ ์์.", character: "ํผํฐ ํฌ", anime: "ํผํฐ ํฌ" }, | |
| { text: "๊ทธ๋ฅ ์์์ ๊ณ์ํด.", character: "๋๋ฆฌ", anime: "๋๋ชจ๋ฅผ ์ฐพ์์" }, | |
| { text: "๊ฐ์ฅ ์ด๋์ด ๋ฐค๋ ๋๋๊ณ ํด๊ฐ ๋ ์.", character: "๋น ํฐ ํด๊ณ ", anime: "๋ ธํธ๋ฅด๋ด์ ๊ผฝ์ถ" }, | |
| { text: "๋ง์์ด ์ผ๋ง๋ ์ฌํผ๋, ๊ณ์ ๋ฏฟ๋๋ค๋ฉด ์ํ๋ ๊ฟ์ ์ด๋ค์ง ๊ฑฐ์์.", character: "์ ๋ฐ๋ ๋ผ", anime: "์ ๋ฐ๋ ๋ผ" }, | |
| { text: "๋น์ ์ด ์ด๋ช ์ ํต์ ํด์ โ ๋ง๋ฒ์ด ํ์ํ์ง ์์์.", character: "๋ฉ๋ฆฌ๋ค", anime: "๋ฉ๋ฆฌ๋ค์ ๋ง๋ฒ์ ์ฒ" }, | |
| { text: "์ญ๊ฒฝ์์ ํผ์ด๋๋ ๊ฝ์ ๊ฐ์ฅ ํฌ๊ทํ๊ณ ์๋ฆ๋ค์์.", character: "๋ฌด๋", anime: "๋ฎฌ๋" }, | |
| { text: "ํ์ฟ ๋๋งํํ! (๊ฑฑ์ ํ์ง ๋ง!)", character: "ํ๋ฐ", anime: "๋ผ์ด์จ ํน" }, | |
| { text: "๋น์ ์ ๋ฏฟ๋ ๊ฒ๋ณด๋ค ์ฉ๊ฐํ๊ณ , ๋ณด์ด๋ ๊ฒ๋ณด๋ค ๊ฐํ๋ฉฐ, ์๊ฐํ๋ ๊ฒ๋ณด๋ค ๋๋ํด.", character: "ํฌ๋ฆฌ์คํ ํผ ๋ก๋น", anime: "๊ณฐ๋์ด ํธ" }, | |
| { text: "๊ณผ๊ฑฐ๋ ์ํ๊ฒ ํ ์ ์์ด. ํ์ง๋ง ๋ด๊ฐ ๋ณด๊ธฐ์๋, ํผํ ์๋ ์๊ณ , ๋ฐฐ์ธ ์๋ ์์ด.", character: "๋ผํผํค", anime: "๋ผ์ด์จ ํน" }, | |
| { text: "๋ฌดํ๋๋ก, ๊ทธ๋ฆฌ๊ณ ์ ๋๋จธ๋ก!", character: "๋ฒ์ฆ ๋ผ์ดํธ์ด์ด", anime: "ํ ์ด ์คํ ๋ฆฌ" }, | |
| { text: "๊ธฐ์ ๋ ์กฐ๊ธ์ ์๊ฐ์ด ํ์ํด์.", character: "์์ฝ", anime: "์ ๋ฐ๋ ๋ผ" }, | |
| { text: "๋๋ฅผ ๋ค๋ฅด๊ฒ ํ๋ ๊ฒ๋ค์ด ๋๋ฅผ ๋ง๋๋ ๊ฒ์ด์์.", character: "ํผ๊ธ๋ ", anime: "๊ณฐ๋์ด ํธ" }, | |
| { text: "์์ผ๋ก ๋์๊ฐ์ธ์.", character: "๋ฃจ์ด์ค", anime: "๋ฏธ๋๋ฅผ ๋ฐ๊พธ๋ค" }, | |
| { text: "๊ฐ์ฅ ์ ๋ง์ ์ธ ์๊ฐ์ผ์๋ก ๊ฐ์ฅ ํฐ ๋ณํ๋ฅผ ๋ฐ์๋ค์ผ ์ค๋น๊ฐ ๋๋ค.", character: "Aang", anime: "Avatar: The Legend of Korra" } | |
| ]; | |
| let currentQuoteIndex = 0; | |
| // ์ด๊ธฐํ | |
| document.addEventListener('DOMContentLoaded', function() { | |
| showRandomQuote(); | |
| }); | |
| function showRandomQuote() { | |
| // ๋ฒํผ ์ ๋๋ฉ์ด์ | |
| const btn = document.getElementById('randomBtn'); | |
| btn.classList.add('pulse'); | |
| setTimeout(() => btn.classList.remove('pulse'), 300); | |
| // ๋๋ค ๋ช ์ธ ์ ํ (ํ์ฌ ๋ช ์ธ๊ณผ ๋ค๋ฅธ ๊ฒ์ผ๋ก) | |
| let newIndex; | |
| do { | |
| newIndex = Math.floor(Math.random() * quotes.length); | |
| } while (newIndex === currentQuoteIndex && quotes.length > 1); | |
| currentQuoteIndex = newIndex; | |
| const quote = quotes[currentQuoteIndex]; | |
| // ๋ช ์ธ ํ์ ์์ญ์ fade-in ํจ๊ณผ ์ ์ฉ | |
| const display = document.getElementById('quoteDisplay'); | |
| display.classList.remove('fade-in'); | |
| // ์ ์ ํ ์๋ก์ด ๋ด์ฉ์ผ๋ก ์ ๋ฐ์ดํธ | |
| setTimeout(() => { | |
| document.getElementById('quoteText').textContent = quote.text; | |
| document.getElementById('characterName').textContent = quote.character; | |
| document.getElementById('animeName').textContent = quote.anime; | |
| display.classList.add('fade-in'); | |
| }, 150); | |
| } | |
| // ํค๋ณด๋ ์ด๋ฒคํธ (์คํ์ด์ค๋ฐ๋ก ์ ๋ช ์ธ ๋ณด๊ธฐ) | |
| document.addEventListener('keydown', function(e) { | |
| if (e.code === 'Space') { | |
| e.preventDefault(); | |
| showRandomQuote(); | |
| } | |
| }); | |
| </script> | |
| </body> | |
| </html> |