{ "$schema": "../schemas/code-crispies-module-schema.json", "id": "colors-backgrounds", "title": "CSS Colors", "description": "Learn how to apply colors to text and backgrounds using CSS properties.", "difficulty": "beginner", "lessons": [ { "id": "colors-1", "title": "Background Color", "description": "Color is one of the most powerful tools in web design. It creates visual hierarchy, conveys meaning, and establishes brand identity. CSS provides multiple ways to specify colors.

CSS named colors: CSS includes 147 named colors like steelblue, coral, gold, and tomato. These are easy to remember and read.

The background-color property: Sets the fill color behind an element's content and padding areas.

.card {\n  background-color: lightblue;\n}
", "task": "This notification card looks bare. Give it a soft, warm background color.", "previewHTML": "
New message

You have 3 unread notifications

", "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 1rem; } .alert { padding: 1rem; border-left: 4px solid coral; border-radius: 4px; } .alert strong { display: block; margin-bottom: 4px; } .alert p { margin: 0; color: #666; font-size: 0.9rem; }", "sandboxCSS": "", "codePrefix": ".alert {\n ", "initialCode": "", "codeSuffix": "\n}", "solution": "background-color: seashell;", "previewContainer": "preview-area", "validations": [ { "type": "regex", "value": "background-color:\\s*(seashell|linen|mistyrose|lavenderblush|cornsilk|oldlace|papayawhip|antiquewhite|bisque|peachpuff)", "message": "Which property fills the area behind the content? Try a warm, soft color name", "options": { "caseSensitive": false } } ] }, { "id": "colors-2", "title": "Text Color", "description": "The color property sets the color of text content. Good contrast between text and background is essential for readability and accessibility.", "task": "The alert title blends in with the body text. Make it pop with a warm accent color.", "previewHTML": "
Warning

Your session will expire in 5 minutes

", "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 1rem; } .alert { padding: 1rem; background-color: seashell; border-left: 4px solid coral; border-radius: 4px; } .alert .title { display: block; margin-bottom: 4px; } .alert p { margin: 0; color: #666; font-size: 0.9rem; }", "sandboxCSS": "", "codePrefix": ".title {\n ", "initialCode": "", "codeSuffix": "\n}", "solution": "color: coral;", "previewContainer": "preview-area", "validations": [ { "type": "regex", "value": "color:\\s*(coral|tomato|orangered|indianred|salmon|darksalmon)", "message": "Which property changes the text color? Try a warm, vibrant color name", "options": { "caseSensitive": false } } ] }, { "id": "colors-3", "title": "Border Color", "description": "Borders can have their own color using border-color. This is useful when you want to change just the color without redefining the entire border.", "task": "The card border is dull gray. Give it a warm accent color.", "previewHTML": "

Premium Plan

Unlimited access to all features

", "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 1rem; background: #f5f5f5; } .card { padding: 1rem; background: white; border: 4px solid #ddd; border-radius: 8px; } .card h3 { margin: 0 0 8px; } .card p { margin: 0; color: #666; }", "sandboxCSS": "", "codePrefix": ".card {\n ", "initialCode": "", "codeSuffix": "\n}", "solution": "border-color: coral;", "previewContainer": "preview-area", "validations": [ { "type": "regex", "value": "border-color:\\s*(coral|tomato|orangered|indianred|salmon|darksalmon|crimson)", "message": "Which property changes just the border's color? Try a warm, vibrant name", "options": { "caseSensitive": false } } ] }, { "id": "colors-4", "title": "Hex Colors", "description": "Beyond named colors, CSS supports hex codes (#ff6347), RGB (rgb(255, 99, 71)), and HSL (hsl(9, 100%, 64%)). Hex codes are the most common format in professional projects.", "task": "This badge needs a golden background. Use a hex color code to set it.", "previewHTML": "NEW", "previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 1rem; } .badge { display: inline-block; padding: 4px 12px; border-radius: 999px; font-size: 0.75rem; font-weight: bold; text-transform: uppercase; color: #333; }", "sandboxCSS": "", "codePrefix": ".badge {\n ", "initialCode": "", "codeSuffix": "\n}", "solution": "background-color: #ffd700;", "previewContainer": "preview-area", "validations": [ { "type": "regex", "value": "background-color:\\s*(#ffd700|#ffcc00|#ffc107|#f0c000|gold)", "message": "Use a hex code for background-color — something in the gold/yellow family", "options": { "caseSensitive": false } } ] } ] }