{ "$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 needs a subtle background. Add background-color: seashell.", "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": "property_value", "value": { "property": "background-color", "expected": "seashell" }, "message": "Set background-color: seashell" } ] }, { "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": "Make the alert title stand out. Add color: coral.", "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": "property_value", "value": { "property": "color", "expected": "coral" }, "message": "Set color: coral" } ] }, { "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": "This card needs an accent border. Add border-color: coral.", "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": "property_value", "value": { "property": "border-color", "expected": "coral" }, "message": "Set border-color: coral" } ] }, { "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": "Set the badge background to gold using its hex code. Add background-color: #ffd700.", "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": "property_value", "value": { "property": "background-color", "expected": "#ffd700" }, "message": "Set background-color: #ffd700" } ] } ] }