<canvas>: عنصر CANVAS

آخر تحديث: 2026-10-13

<canvas>عنصر CANVAS

يرسم الرسوميات والحركة والمخططات عبر JavaScript (2D أو WebGL)؛ الوسم مجرد لوحة فارغة يملؤها السكربت.

الفئةالبرامج النصية والتضمين
نموذج المحتوىمحتوى تدفقي
العناصر الأم المسموحةأي عنصر يقبل المحتوى التدفقي
وسم الإغلاقنعم — يتطلب إغلاق </canvas> وسم
الحالةقياسي

📝 البنية

<canvas width="300" height="150"></canvas>

⚙️ السمات

يدعم هذا العنصر السمات العامة بالإضافة إلى ما يلي:

السمةالقيمةالوصف
widthCanvas width in pixels, default 300.
heightCanvas height in pixels, default 150.

▶ مثال

عدّل الكود أدناه وشاهد النتيجة المباشرة في الملعب:

🌐 دعم المتصفح

المتصفح ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
<canvas> ✓ v1 ✓ v12 ✓ v1 ✓ v1 ✓ v1
مدعوم في جميع المتصفحات الرئيسية
نصيحة: canvas لا يرسم بنفسه — استخدم getContext في JS؛ ادمجه مع تحجيم CSS للشاشات عالية الدقة.

❓ الأسئلة الشائعة

Qما الفرق بين canvas و SVG؟
A<canvas> رسم نقطي: يرسم JS البكسلات إطارًا بإطار، فيناسب الألعاب والعدد الكبير من العناصر الرسومية والمرشحات اللحظية، لكنه يتشوش عند التكبير؛ وSVG رسم متجهي تصف عُقده الشكل، فيتكبّر دون فقدان جودة ويناسب الأيقونات والرسوم البيانية. اختر canvas لإعادة الرسم عالية التردد على مستوى البكسل، وSVG للرسومات المتجهية التفاعلية.
Qلماذا لا تُضبط أبعاد canvas عبر CSS؟
Aلـ canvas بُعدان: سمات HTML width/height هي عدد بكسلات مخزن الرسم (الافتراضي 300×150)، بينما أبعاد CSS مجرد تمدد للعرض. تغيير الحجم عبر CSS وحده يمدد المخزن فيتشوه الصورة ويتشوش — الصواب ضبط قيمتي السمة مع أبعاد CSS معًا، أو القياس وفق devicePixelRatio.
Qهل تُفهرس محركات البحث محتوى canvas؟
Aلا — داخل canvas بكسلات فحسب، لا نصوص ولا DOM يمكن زحفها. ضع النصوص المهمة خارج canvas (عناوين وأوصاف وبديلًا للوصولية)، وفي التطبيقات المعقدة يُنصح بتوفير محتوى DOM احتياطيًا داخل الوسم كحل بديل.
المزيد من الحالات قادمة قريبًا — ترقبوا.

📚 دروس ذات صلة

Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%