0Pricing
HTML Academy · درس

عنصر video ونسبة العرض إلى الارتفاع

تضمين الفيديو والحفاظ على نسب العرض إلى الارتفاع الصحيحة

عنصر video ونسبة العرض إلى الارتفاع درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.

عنصر الفيديو

يُضمّن عنصر <video> الفيديو بطريقة أصلية:

<video controls width="800" height="450" src="tutorial.mp4">
  Your browser does not support video.
</video>

السمات الأساسية

سمات الفيديو المهمة:

<video
  src="demo.mp4"
  controls           <!-- show player UI -->
  width="1280"       <!-- intrinsic width -->
  height="720"       <!-- intrinsic height -->
  poster="preview.jpg" <!-- thumbnail before play -->
  preload="metadata"   <!-- preload only metadata -->
>
  Your browser does not support video.
</video>

سمة poster

تحدد سمة poster صورةً مصغرة تُعرض قبل بدء تشغيل الفيديو:

<video controls poster="/thumbnails/episode-42.jpg" width="800" height="450">
  <source src="episode-42.mp4" type="video/mp4">
</video>
<!-- Without poster: browser shows a black frame
     or the first frame of the video (browser-dependent) -->

العرض والارتفاع لنسبة العرض إلى الارتفاع

حدد العرض والارتفاع دائمًا لمنع تغيّر تخطيط الصفحة:

<video controls width="1280" height="720" src="video.mp4"></video>
<!-- Browser reserves correct space before video loads -->
<!-- Prevents CLS (Cumulative Layout Shift) -->
<!-- Make responsive with CSS:
  video { width: 100%; height: auto; }
-->

CSS للفيديو المتجاوب

اجعل الفيديو متجاوبًا باستخدام CSS:

video {
  width: 100%;
  height: auto;
  max-width: 1280px;
  display: block;
  margin: 0 auto;
}

/* Aspect ratio box: */
.video-wrapper {
  position: relative;
  padding-top: 56.25%;  /* 16:9 aspect ratio: 9/16 = 0.5625 */
}
.video-wrapper video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

خاصية CSS aspect-ratio

النهج الحديث باستخدام CSS aspect-ratio:

video {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}

/* Other common ratios: */
/* 4:3 → aspect-ratio: 4 / 3 */
/* 21:9 → aspect-ratio: 21 / 9 */
/* 1:1 → aspect-ratio: 1 */

عناصر التحكم في تشغيل الفيديو عبر JS

التحكم في الفيديو باستخدام JavaScript:

const video = document.getElementById('my-video');

video.play();
video.pause();
video.currentTime = 60;  // jump to 1 minute
video.playbackRate = 1.5;  // 1.5x speed
video.volume = 0.7;
video.muted = true;
video.requestFullscreen();

console.log(video.duration);    // total length
console.log(video.paused);      // is it paused?

أحداث الفيديو

استمع إلى أحداث الفيديو:

video.addEventListener('play', () => updatePlayButton());
video.addEventListener('pause', () => updatePlayButton());
video.addEventListener('ended', () => showNextVideo());
video.addEventListener('timeupdate', () => updateProgressBar());
video.addEventListener('loadedmetadata', () => {
  console.log('Duration:', video.duration);
  console.log('Dimensions:', video.videoWidth, 'x', video.videoHeight);
});

واجهة برمجة تطبيقات ملء الشاشة

الدخول إلى وضع ملء الشاشة والخروج منه برمجيًا:

const btn = document.getElementById('fullscreen-btn');
const video = document.getElementById('player');

btn.addEventListener('click', () => {
  if (!document.fullscreenElement) {
    video.requestFullscreen();
  } else {
    document.exitFullscreen();
  }
});

document.addEventListener('fullscreenchange', () => {
  btn.textContent = document.fullscreenElement ? 'Exit Fullscreen' : 'Fullscreen';
});

سياسة التشغيل التلقائي للفيديو

قواعد المتصفحات للتشغيل التلقائي للفيديو:

  • الفيديو المكتوم → يمكن تشغيله تلقائيًا في جميع المتصفحات الحديثة
  • الفيديو غير المكتوم → يُحظر ما لم يتفاعل المستخدم مع الصفحة
  • Google's Media Engagement Index → قد يُسمح بالتشغيل التلقائي للزوار المتكررين
  • وفر دائمًا زر تشغيل كخيار احتياطي

إمكانية الوصول إلى الفيديو

متطلبات إمكانية الوصول إلى الفيديو:

  • وفر تسميات توضيحية لكل حوار والأصوات المهمة
  • وفر نصًا مكتوبًا للمستخدمين الصم أو ضعاف السمع
  • وفر أوصافًا صوتية للمستخدمين المكفوفين (لوصف المعلومات المرئية فقط)
  • تأكد من عمل عناصر التحكم عبر لوحة المفاتيح (فالعناصر الأصلية تدعم ذلك)

تحقق سريع

ما سمة الفيديو التي تعرض صورة ثابتة قبل بدء تشغيل الفيديو؟

خلاصة: عنصر الفيديو

أساسيات عنصر الفيديو:

  • controls — عرض واجهة مشغّل الفيديو
  • width وheight — منع تغيّر تخطيط الصفحة
  • poster — صورة مصغرة قبل التشغيل
  • preload="metadata" — إعداد افتراضي مناسب للأداء
  • متجاوب: width: 100%; height: auto; أو aspect-ratio: 16/9
  • يمكن تشغيل الفيديو المكتوم تلقائيًا، أما غير المكتوم فلا يمكن تشغيله تلقائيًا في معظم المتصفحات

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

هل درس «عنصر video ونسبة العرض إلى الارتفاع» مجاني؟

نعم — نص درس «عنصر video ونسبة العرض إلى الارتفاع» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.

ماذا ستتعلم في «عنصر video ونسبة العرض إلى الارتفاع»؟

تضمين الفيديو والحفاظ على نسب العرض إلى الارتفاع الصحيحة تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟

لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «عنصر video ونسبة العرض إلى الارتفاع»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟

نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. عنصر audio وsrc وcontrols وloop وautoplay
  2. عنصر video ونسبة العرض إلى الارتفاع
  3. عنصر source للتنسيقات المتعددة
  4. الترجمة باستخدام track وWebVTT
← العودة إلى HTML Academy