Welcome to my site!
\n{
"$schema": "../schemas/code-crispies-module-schema.json",
"id": "html-elements",
"title": "HTML Block & Inline",
"description": "Understanding the fundamental difference between container (block) and inline elements",
"mode": "html",
"difficulty": "beginner",
"lessons": [
{
"id": "block-vs-inline-intro",
"title": "Block vs Inline Elements",
"description": "HTML elements fall into two main categories:
Block elements (containers) start on a new line and take full width. Examples: <div>, <p>, <h1>, <section>
Inline elements flow within text and only take needed width. Examples: <span>, <a>, <strong>, <em>",
"task": "Wrap the word important with <strong> tags to make it bold. Notice how the paragraph (block) takes full width while strong (inline) flows with text.",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; } p { background: #e3f2fd; padding: 10px; } strong { background: #ffecb3; }",
"sandboxCSS": "",
"initialCode": "
This is a paragraph with an important word.
", "solution": "This is a paragraph with an important word.
", "previewContainer": "preview-area", "validations": [ { "type": "element_exists", "value": "p", "message": "Add a <p> paragraph element" }, { "type": "parent_child", "value": { "parent": "p", "child": "strong" }, "message": "Wrap the word important with <strong> tags" } ] }, { "id": "semantic-containers", "title": "Semantic Tags", "description": "Modern HTML uses semantic containers that describe their content:My WebsiteWelcome to my site!Copyright 2025",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui; margin: 0; } header { background: #1976d2; color: white; padding: 15px; } main { padding: 20px; min-height: 100px; } footer { background: #424242; color: white; padding: 10px; text-align: center; }",
"sandboxCSS": "",
"initialCode": "",
"solution": "Welcome to my site!
\n