{ "$schema": "../../schemas/code-crispies-module-schema.json", "id": "html-marquee", "title": "HTML Marquee", "description": "Створюйте біжучий текст за допомогою класичного (застарілого але веселого!) елемента marquee", "mode": "html", "difficulty": "beginner", "lessons": [ { "id": "marquee-basic", "title": "Біжучий текст", "description": "Елемент <marquee> створює біжучий текст - класика раннього вебу! Хоча він застарілий, все ще працює в більшості браузерів.

Примітка: Для продакшену використовуйте CSS-анімації. Але для навчання та розваги marquee чудовий!", "task": "Створіть простий marquee:
1. Додайте елемент <marquee>
2. Помістіть текст всередину, наприклад Ласкаво просимо на мій сайт!", "previewHTML": "", "previewBaseCSS": "body { font-family: system-ui; padding: 20px; background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%); min-height: 150px; display: flex; align-items: center; } marquee { font-size: 2rem; color: #00ff00; text-shadow: 0 0 10px #00ff00, 0 0 20px #00ff00; font-family: 'Courier New', monospace; }", "sandboxCSS": "", "initialCode": "", "solution": "Welcome to my website!", "previewContainer": "preview-area", "validations": [ { "type": "element_exists", "value": "marquee", "message": "Додайте елемент <marquee>" } ] }, { "id": "marquee-direction", "title": "Напрямок та поведінка", "description": "Керуйте marquee за допомогою атрибутів:
direction: left, right, up, down
behavior: scroll (за замовчуванням), slide (зупиняється на краю), alternate (відбивається)
scrollamount: швидкість (за замовчуванням 6)", "task": "Створіть marquee що відбивається:
1. Додайте елемент <marquee>
2. Встановіть behavior=\"alternate\" щоб він відбивався
3. Додайте веселий текст", "previewHTML": "", "previewBaseCSS": "body { font-family: system-ui; padding: 20px; background: linear-gradient(135deg, #ff6b6b 0%, #feca57 100%); min-height: 150px; display: flex; align-items: center; } marquee { font-size: 2.5rem; color: white; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); font-weight: bold; }", "sandboxCSS": "", "initialCode": "", "solution": "Bounce! Bounce! Bounce!", "previewContainer": "preview-area", "validations": [ { "type": "element_exists", "value": "marquee", "message": "Додайте елемент <marquee>" }, { "type": "attribute_value", "value": { "selector": "marquee", "attr": "behavior", "value": "alternate" }, "message": "Додайте behavior=\"alternate\" щоб він відбивався" } ] }, { "id": "marquee-retro", "title": "Ретро-стрічка новин", "description": "Поєднайте кілька атрибутів marquee для класичного ефекту стрічки новин. Ви навіть можете помістити кілька елементів всередину!

Пам'ятайте: Це застарілий HTML. Сучасні сайти використовують CSS-анімації, але marquee чудовий для розуміння історії вебу.", "task": "Створіть стрічку новин:
1. Елемент <marquee> з direction=\"left\"
2. Встановіть scrollamount=\"5\" для плавного прокручування
3. Додайте всередину заголовок термінових новин", "previewHTML": "", "previewBaseCSS": "body { font-family: system-ui; padding: 0; margin: 0; background: #1a1a2e; } marquee { background: linear-gradient(90deg, #c0392b 0%, #e74c3c 50%, #c0392b 100%); padding: 15px 0; font-size: 1.3rem; color: white; font-weight: 500; text-transform: uppercase; letter-spacing: 1px; border-top: 3px solid #f1c40f; border-bottom: 3px solid #f1c40f; }", "sandboxCSS": "", "initialCode": "", "solution": "BREAKING NEWS: Marquee element still works in browsers!", "previewContainer": "preview-area", "validations": [ { "type": "element_exists", "value": "marquee", "message": "Додайте елемент <marquee>" }, { "type": "attribute_value", "value": { "selector": "marquee", "attr": "direction", "value": "left" }, "message": "Додайте direction=\"left\" для горизонтального прокручування" }, { "type": "attribute_value", "value": { "selector": "marquee", "attr": "scrollamount", "value": "5" }, "message": "Додайте scrollamount=\"5\" для плавної швидкості" } ] } ] }