مرحباً بك في موقعي!
\n{
"$schema": "../../schemas/code-crispies-module-schema.json",
"id": "html-elements",
"title": "HTML Block & Inline",
"description": "فهم الفرق الأساسي بين عناصر الحاويات (الكتلية) والعناصر السطرية",
"mode": "html",
"difficulty": "beginner",
"lessons": [
{
"id": "block-vs-inline-intro",
"title": "العناصر الكتلية vs السطرية",
"description": "تنقسم عناصر HTML إلى فئتين رئيسيتين:
العناصر الكتلية (الحاويات) تبدأ في سطر جديد وتأخذ العرض الكامل. أمثلة: <div>, <p>, <h1>, <section>
العناصر السطرية تتدفق داخل النص وتأخذ العرض المطلوب فقط. أمثلة: <span>, <a>, <strong>, <em>",
"task": "أحط الكلمة مهمة بوسوم <strong> لجعلها عريضة. لاحظ كيف يأخذ الفقرة (كتلي) العرض الكامل بينما strong (سطري) يتدفق مع النص.",
"previewHTML": "",
"previewBaseCSS": "body { font-family: system-ui, sans-serif; padding: 20px; } p { background: #e3f2fd; padding: 10px; } strong { background: #ffecb3; }",
"sandboxCSS": "",
"initialCode": "
هذه فقرة تحتوي على كلمة مهمة.
", "solution": "هذه فقرة تحتوي على كلمة مهمة.
", "previewContainer": "preview-area", "validations": [ { "type": "element_exists", "value": "p", "message": "أضف عنصر فقرة <p>" }, { "type": "parent_child", "value": { "parent": "p", "child": "strong" }, "message": "أحط الكلمة مهمة بوسوم <strong>" } ] }, { "id": "semantic-containers", "title": "الوسوم الدلالية", "description": "يستخدم HTML الحديث حاويات دلالية تصف محتواها:موقعيمرحباً بك في موقعي!Copyright 2026",
"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": "مرحباً بك في موقعي!
\n