في هذا الدرس 7تصفّح المواضيع
<picture>، وهو عنصر ذكي يتيح تزويد المتصفح بعدة خيارات بديلة للملفات ليختار الأنسب منها تلقائياً وفقاً لحجم الشاشة أو سرعة الاتصال.<picture>
<source media="(min-width: 800px)"
srcset="images/examples/workspace-wide.webp">
<source media="(min-width: 480px)"
srcset="images/examples/workspace-tablet.webp">
<img src="images/examples/workspace-mobile.webp"
alt="Modern developer workstation">
</picture>
<picture>، يضع المطور واحداً أو أكثر من وسوم المصادر <source> متبوعة إلزامياً بوسم الصورة العادي <img> في النهاية. يقوم المتصفح بفحص المصادر ثم يعرض الملف المطابق مباشرة داخل صندوق <img> الموحد دون أي تكرار في شجرة DOM.media داخل وسم <source> استعلامات وسائط CSS (Media Queries)، وهو ما يحقق مبدأ التوجيه الفني (Art Direction). يتيح هذا التوجيه عرض لقطات مقتصة بذكاء تناسب الهواتف الطولية، بينما يعرض لقطات أفقية بانورامية للشاشات العريضة.<picture>
<!-- Wide panoramic studio view for larger screens -->
<source media="(min-width: 640px)"
srcset="images/examples/workspace-wide.webp">
<!-- Focused square laptop crop for mobile -->
<img src="images/examples/workspace-mobile.webp"
alt="Developer desk workstation">
</picture>
<picture> مع خاصية media عدم قيام هواتف الزوار بتنزيل صورة الحواسيب الضخمة في الخلفية نهائياً. يؤدي ذلك إلى توفير باقة الإنترنت للزائر وتسريع مؤشر الرسم المحتوي الأكبر (LCP) بصورة قياسية على شبكات الجوال.type ميزة الترقية التدريجية وتبديل صيغ الصور بذكاء. تمكنك هذه الخاصية من تقديم صيغ الجيل القادم الحديثة مثل AVIF وWebP للمتصفحات المتقدمة مع توفير بديل تلقائي بصيغة JPEG أو PNG للمتصفحات القديمة دون أي تعارض.<picture>
<!-- Ultra-efficient AVIF for modern engines -->
<source type="image/avif"
srcset="images/examples/coastal-sunset.avif">
<!-- High-compression WebP fallback -->
<source type="image/webp"
srcset="images/examples/coastal-sunset.webp">
<!-- Universal legacy JPEG fallback -->
<img src="images/examples/coastal-sunset.jpg"
alt="Sunset over coastal cliffs" width="640" height="360">
</picture>
<img>. يحقق هذا التدرج أعلى توفير في بايتات الشبكة مع ضمان عمل الموقع بنسبة 100% على كافة الأجهزة.<img>، والطريقة الثانية هي التضمين المباشر لشفرة SVG داخل شفرة صفحة HTML نفسها (Inline SVG Markup).| المعيار والمقارنة | تضمين SVG المباشر (Inline SVG) | استدعاء خارجي عبر وسم img |
|---|---|---|
| طلبات الشبكة HTTP | 0 طلبات إضافية (مدمج في كود الصفحة) | طلب HTTP منفصل لتنزيل ملف SVG |
| التحكم والتلوين عبر CSS | تحكم كامل بالألوان والحدود والتأثيرات | محدود جداً ولا يمكن تلوين العناصر الداخلية |
| كاش المتصفح Browser Cache | يُعاد تنزيله مع كود الصفحة دائماً | يُخزن مؤقتاً في الكاش ويسهل إعادة استخدامه |
| العزل الأمني والتنفيذ | يعمل في سياق الصفحة ويتطلب تعقيماً أمنياً | معزول في صندوق آمن ويعطل السكربتات تلقائياً |
<svg width="120" height="40" viewBox="0 0 120 40">
<rect width="120" height="40" rx="8"
fill="#7750b2"/>
<text x="60" y="25" text-anchor="middle"
fill="#ffffff" font-size="14">
CloseTag
</text>
</svg>
<rect> لرسم المستطيلات والمربعات، ووسم <circle> لرسم الدوائر، ووسم <line> لرسم الخطوط المستقيمة، ووسم <path> لرسم المنحنيات المعقدة والمسارات الحرة.<svg width="200" height="100" viewBox="0 0 200 100">
<!-- Rounded rectangle -->
<rect x="10" y="10" width="80" height="80"
rx="8" fill="#2563eb"/>
<!-- Circle with center and radius -->
<circle cx="150" cy="50" r="40"
fill="#0f766e"/>
</svg>
viewBox نظام الإحداثيات الداخلي ونسبة العرض إلى الارتفاع للرسم المتجه. بفضل هذه الخاصية، يتمدد رسم SVG أو ينكمش بمرونة تامة ليتطابق مع اتساع أي حاوية على الصفحة دون الحاجة لإعادة كتابة الأبعاد يدوياً.<svg> المباشر لا يمتلك خاصية alt بطبيعته، فإن تحقيق معايير الإتاحة يعتمد على العناصر الوصفية الداخلية. يتم ذلك بوضع عنصري <title> و <desc> في مطلع كود الرسم مباشرة داخل وسم <svg> لتتعرف قارئات الشاشة على عنوان الشكل ووصفه بدقة.<svg width="48" height="48" viewBox="0 0 24 24">
<title>Shield Protection</title>
<desc>An active security shield</desc>
<path d="M12 2L3 7v6c0 5 9 9 9 9s9-4 9-9V7l-9-5z"
fill="currentColor"/>
</svg>
fill="currentColor" في أشكال SVG ممارسة احترافية كبرى؛ حيث تجعل الرسم يرث لونه تلقائياً من لون النص المحيط به في CSS (Color Inheritance). يتيح ذلك توافقاً فورياً مع الوضعين الفاتح والداكن دون الحاجة لكتابة كود إضافي.<!-- Safe external SVG rendered via inert <img> -->
<img src="/images/examples/shield-icon.svg"
alt="Sanitized security shield emblem"
width="96" height="96">
<!-- Inert img mode isolates untrusted SVG files -->
<img> حماية أمنية تلقائية؛ حيث يُعطل المتصفح تشغيل أي أكواد جافاسكريبت أو استدعاءات خارجية داخل بيئة الصورة تماماً. وفي حال كان التضمين المباشر Inline ضرورياً، يجب تعقيم كود SVG وتجريده من السكربتات الخبيثة عبر مكتبات موثوقة مثل DOMPurify.ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
سجّل الدخول لحفظ تقدمك
تابع إنجاز المواضيع والمصطلحات والمهام، وكمّل من آخر خطوة على أي جهاز.
المصطلحات4
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 Art Direction التوجيه الفني للصور
- ممارسة في التصميم المتجاوب لتقديم نسخ مقتصة بذكاء من الصورة تناسب أبعاد شاشات الهواتف والحواسيب بشكل فريد.
- للمراجعة
- 02 Inline SVG رسوميات SVG المدمجة
- تضمين شفرة SVG البرمجية مباشرة في مستند HTML مما يتيح التحكم الكامل بالألوان عبر CSS والبرمجة.
- للمراجعة
- 03 viewBox Attribute خاصية فضاء العرض viewBox
- خاصية تحدد نظام الإحداثيات الداخلي للرسم المتجه وتسمح بتكبيره وتصغيره تلقائياً ليلائم أي شاشة.
- للمراجعة
- 04 SVG Sanitization تعقيم ملفات SVG أمنياً
- عملية فحص وتنقية ملفات SVG البرمجية وحذف وسوم السكربتات ومعالجات الأحداث لمنع ثغرات الاختراق XSS.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
الاختصارات2
راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.
- 01 SVG رسوميات متجهة قابلة للتمدد
- Scalable Vector Graphics
- معيار رسمي معتمد لوصف الرسوم المتجهة ثنائية الأبعاد بدقة لا نهائية.
- للمراجعة
- 02 XSS البرمجة النصية العابرة للمواقع
- Cross-Site Scripting
- ثغرة أمنية يتم فيها حقن نصوص برمجية خبيثة داخل صفحات الويب الموثوقة لسرقة بيانات المستخدمين.
- للمراجعة
لا توجد بطاقات تطابق البحث والتصفية.
اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.
مهامك قبل الاختبار
خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.
-
قم ببناء وسم picture يقدم صورة أفقية عريضة لشاشات الحواسيب وصورة مقتصة ومكبرة للهواتف المحمولة.
-
صمم شفرة SVG مدمجة تحتوي على عنصري title وdesc لإتاحة الوصول وتستجيب لتغيير الألوان تلقائياً.
تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.
اختبر فهمك.
ووصلها للإتقان.
كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.
أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.
الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.