0Pricing
HTML Academy · บทเรียน

องค์ประกอบ picture สำหรับการกำกับงานศิลป์

สลับรูปภาพทั้งภาพตามเงื่อนไขของพื้นที่แสดงผล

องค์ประกอบ picture สำหรับการกำกับงานศิลป์ เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

ปัญหาการกำหนดทิศทางภาพ

การกำหนดทิศทางภาพ หมายถึงการแสดง crop หรือองค์ประกอบภาพที่แตกต่างกันโดยพื้นฐานตามขนาดหน้าจอ:

  • ภาพถ่ายแนวนอนแบบเต็มบนเดสก์ท็อป
  • crop ภาพแนวตั้งที่ซูมเข้าในอุปกรณ์เคลื่อนที่
  • ไม่สามารถแก้ปัญหานี้ด้วย srcset + sizes เพียงอย่างเดียวได้

องค์ประกอบ picture

องค์ประกอบ <picture> ครอบองค์ประกอบ <source> หลายรายการและตัวสำรอง <img> ไว้:

<picture>
  <source media="(min-width: 800px)" srcset="wide-crop.jpg">
  <source media="(min-width: 500px)" srcset="medium-crop.jpg">
  <img src="narrow-crop.jpg" alt="Team photo">
</picture>
<!-- Browser picks the first matching source -->
<!-- img is required as fallback and carries the alt attribute -->

การทำงานของ picture

เบราว์เซอร์จะประเมินองค์ประกอบ <source> ตามลำดับจากบนลงล่าง:

  1. ตรวจสอบเงื่อนไข media ของแหล่งที่มาแรก หากตรงกัน ให้ใช้รูปภาพนั้น
  2. ตรวจสอบแหล่งที่มาที่สอง หากตรงกัน ให้ใช้รูปภาพนั้น
  3. หากไม่ตรงเงื่อนไขใด ให้ใช้ <img> เป็นค่าเริ่มต้น

องค์ประกอบ <img> ยังคงเป็นผู้แสดงรูปภาพที่เลือกและเก็บข้อความ alt ไว้

การสลับรูปแบบด้วย picture

<picture> ยังสามารถเลือกรูปแบบรูปภาพตามการรองรับของเบราว์เซอร์ได้ด้วย:

<picture>
  <!-- AVIF: best compression, newest support -->
  <source type="image/avif" srcset="photo.avif">
  <!-- WebP: great compression, wide support -->
  <source type="image/webp" srcset="photo.webp">
  <!-- JPEG: universal fallback -->
  <img src="photo.jpg" alt="Mountain photo">
</picture>
<!-- Browser picks the first format it supports -->

การรวมการกำหนดทิศทางภาพและรูปแบบ

คุณสามารถรวมเงื่อนไขสื่อและการเลือกรูปแบบเข้าด้วยกันได้:

<picture>
  <source
    media="(min-width: 800px)"
    type="image/webp"
    srcset="hero-wide.webp"
  >
  <source
    media="(min-width: 800px)"
    srcset="hero-wide.jpg"
  >
  <source type="image/webp" srcset="hero-mobile.webp">
  <img src="hero-mobile.jpg" alt="Hero image" width="1200" height="600">
</picture>

ต้องมี img

องค์ประกอบ <img> inside <picture> ไม่ใช่สิ่งที่เลือกละเว้นได้:

  • แสดงรูปภาพที่เลือก
  • เก็บข้อความ alt สำหรับการเข้าถึง
  • เก็บแอตทริบิวต์ width, height, loading และแอตทริบิวต์อื่น ๆ
  • หากไม่มีองค์ประกอบนี้ จะไม่มีสิ่งใดแสดง

แอตทริบิวต์ media ของ source

แอตทริบิวต์ media ยอมรับคำค้นหาสื่อมาตรฐานของ CSS:

<picture>
  <source media="(orientation: landscape)" srcset="landscape.jpg">
  <source media="(orientation: portrait)" srcset="portrait.jpg">
  <img src="portrait.jpg" alt="Scene">
</picture>

<!-- Other media features work too: -->
<!-- (prefers-color-scheme: dark) -->
<!-- (min-resolution: 2dppx) -->
<!-- (max-width: 600px) -->

source srcset กับการเลือกแบบปรับตามหน้าจอ

รวมการกำหนดทิศทางภาพกับ srcset เพื่อควบคุมได้อย่างเต็มที่:

<picture>
  <!-- Desktop: wide hero, multiple resolutions -->
  <source
    media="(min-width: 1024px)"
    srcset="hero-1024.jpg 1024w, hero-2048.jpg 2048w"
    sizes="100vw"
  >
  <!-- Mobile: portrait crop -->
  <img
    srcset="hero-mobile-400.jpg 400w, hero-mobile-800.jpg 800w"
    sizes="100vw"
    src="hero-mobile-400.jpg"
    alt="Conference keynote speaker on stage"
  >
</picture>

รูปภาพสำหรับโหมดมืด

แสดงรูปภาพที่แตกต่างกันสำหรับผู้ใช้โหมดมืด:

<picture>
  <source
    media="(prefers-color-scheme: dark)"
    srcset="logo-dark.svg"
  >
  <img src="logo-light.svg" alt="Company logo" width="120" height="40">
</picture>
<!-- Users with dark mode OS setting see logo-dark.svg -->
<!-- Everyone else sees logo-light.svg -->

picture เทียบกับ CSS background-image

ควรใช้ <picture> หรือพื้นหลัง CSS เมื่อใด:

  • รูปภาพเนื้อหา — ใช้ <picture>: ต้องมีข้อความ alt และเป็นส่วนหนึ่งของเนื้อหาเอกสาร
  • รูปภาพตกแต่ง — ใช้ CSS background-image พร้อมคำค้นหาสื่อ
  • รูปภาพสำคัญต่อ SEO — ให้ใช้ <picture> เสมอ: โปรแกรมรวบรวมข้อมูลจะจัดทำดัชนีองค์ประกอบ img

หมายเหตุด้านการเข้าถึง

แอตทริบิวต์ alt ต้องอยู่บน <img> เสมอ ไม่ใช่บน <source>:

<picture>
  <source srcset="photo.webp" type="image/webp">
  <!-- alt goes on img, not source: -->
  <img src="photo.jpg" alt="Sunset over the Pacific Ocean">
</picture>
<!-- screen readers read img's alt, whichever source was selected -->

การโหลดแบบขี้เกียจด้วย picture

เพิ่มการโหลดแบบขี้เกียจให้กับ <img> inside <picture>:

<picture>
  <source srcset="photo.webp" type="image/webp">
  <img
    src="photo.jpg"
    alt="Gallery photo"
    loading="lazy"
    width="800"
    height="600"
  >
</picture>

ตรวจสอบอย่างรวดเร็ว

องค์ประกอบใดในบล็อก picture ที่ต้องมีอยู่เสมอและเก็บแอตทริบิวต์ alt

ทบทวน: องค์ประกอบ picture

การกำหนดทิศทางภาพด้วย picture:

  • <picture> ครอบองค์ประกอบ <source> และ <img> ไว้
  • เบราว์เซอร์เลือก <source> แรกที่ตรงเงื่อนไข
  • ใช้ media สำหรับเงื่อนไขพื้นที่แสดงผล และใช้ type สำหรับการเลือกรูปแบบ
  • ต้องมี <img> — องค์ประกอบนี้แสดงรูปภาพและเก็บข้อความ alt
  • รวมกับ srcset + sizes เพื่อควบคุมการปรับตามหน้าจออย่างเต็มที่

คำถามที่พบบ่อย

บทเรียน “องค์ประกอบ picture สำหรับการกำกับงานศิลป์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “องค์ประกอบ picture สำหรับการกำกับงานศิลป์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “องค์ประกอบ picture สำหรับการกำกับงานศิลป์”

สลับรูปภาพทั้งภาพตามเงื่อนไขของพื้นที่แสดงผล คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “องค์ประกอบ picture สำหรับการกำกับงานศิลป์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม

ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. องค์ประกอบ img: src, alt, width และ height
  2. รูปภาพแบบปรับตามหน้าจอด้วย srcset และ sizes
  3. องค์ประกอบ picture สำหรับการกำกับงานศิลป์
  4. figure และ figcaption
← กลับไปที่ HTML Academy