CSS Academy · บทเรียน

หน่วยพื้นที่แสดงผล: vw vh และ dvh

กำหนดขนาดองค์ประกอบโดยอ้างอิงพื้นที่แสดงผลของเบราว์เซอร์ด้วยหน่วย vw, vh และ dvh รุ่นใหม่

บทเรียน 3 จาก 413 ขั้นตอน

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

หน่วยวิวพอร์ตคืออะไร

หน่วยวิวพอร์ตจะอิงตามขนาดของวิวพอร์ตเบราว์เซอร์ (พื้นที่ที่มองเห็นได้ของหน้าต่างเบราว์เซอร์) หน่วยเหล่านี้ช่วยให้เลย์เอาต์และตัวอักษรปรับขนาดตามพื้นที่หน้าจอที่มีอยู่

vw — ความกว้างของวิวพอร์ต

1vw = 1% ของความกว้างวิวพอร์ต 100vw เติมเต็มความกว้างของวิวพอร์ตทั้งหมด มีประโยชน์สำหรับองค์ประกอบที่ต้องการเต็มความกว้างโดยไม่เกิดความยุ่งยากจากการใช้เปอร์เซ็นต์

<div class="hero"></div>

vh — ความสูงของวิวพอร์ต

1vh = 1% ของความสูงวิวพอร์ต 100vh เติมเต็มความสูงของวิวพอร์ตทั้งหมด นิยมใช้กับส่วนฮีโร่และหน้าต่างโมดัลที่ต้องเต็มหน้าจอ

<div class="fullscreen">100vh fills the viewport height</div>

ปัญหา 100vh บนอุปกรณ์เคลื่อนที่

บนเบราว์เซอร์ของอุปกรณ์เคลื่อนที่ ความสูงของวิวพอร์ตจะเปลี่ยนเมื่อส่วนติดต่อของเบราว์เซอร์ (แถบที่อยู่) แสดงหรือซ่อนระหว่างการเลื่อน 100vh อาจรวมหรือไม่รวมส่วนติดต่อของเบราว์เซอร์อย่างไม่สม่ำเสมอ ทำให้เนื้อหาบางส่วนถูกซ่อน

dvh — ความสูงวิวพอร์ตแบบไดนามิก

dvh (ความสูงวิวพอร์ตแบบไดนามิก) จะปรับปรุงค่าแบบไดนามิกให้ตรงกับความสูงที่มองเห็นได้จริงหลังจากส่วนติดต่อของเบราว์เซอร์ปรับเปลี่ยน จึงแก้ปัญหา 100vh บนอุปกรณ์เคลื่อนที่ได้

<div class="mobile-hero">Dynamic viewport height (100dvh)</div>

svh และ lvh

CSS ยังมี svh (ความสูงวิวพอร์ตขนาดเล็ก — ไม่รวมส่วนติดต่อของเบราว์เซอร์เสมอ) และ lvh (ความสูงวิวพอร์ตขนาดใหญ่ — ราวกับว่าส่วนติดต่อถูกซ่อน) ซึ่งช่วยให้ควบคุมพฤติกรรมของวิวพอร์ตบนอุปกรณ์เคลื่อนที่ได้อย่างละเอียด

ตัวอักษรแบบลื่นไหลด้วย vw

การใช้ vw กับขนาดแบบอักษรจะทำให้ตัวอักษรปรับขนาดตามหน้าจอ:

<h1>Fluid Heading</h1>

ข้อจำกัดของความกว้างวิวพอร์ต

100vw จะรวมความกว้างของแถบเลื่อนบนคอมพิวเตอร์ตั้งโต๊ะด้วย ซึ่งทำให้เกิดเนื้อหาล้นในแนวนอนได้หากใช้อย่างไม่ระมัดระวัง ควรใช้ width: 100% กับองค์ประกอบบล็อก และสงวน vw ไว้สำหรับกรณีเฉพาะ

vmin และ vmax

1vmin = 1% ของมิติวิวพอร์ตที่เล็กกว่า (ความกว้างหรือความสูง) 1vmax = 1% ของมิติที่ใหญ่กว่า มีประโยชน์สำหรับคอนเทนเนอร์สี่เหลี่ยมจัตุรัสที่ปรับตามการเปลี่ยนแนวหน้าจอ

<div class="square"></div>

svw, lvw, dvw — รูปแบบความกว้าง

เช่นเดียวกับรูปแบบความสูง CSS มี svw, lvw และ dvw สำหรับความกว้าง รูปแบบไดนามิก (dvw, dvh) มีประโยชน์มากที่สุดบนอุปกรณ์เคลื่อนที่

รูปแบบการใช้งานจริง

รูปแบบการใช้หน่วยวิวพอร์ตที่พบบ่อย:

  • min-height: 100dvh — ส่วนเต็มหน้าจอที่ปลอดภัยบนอุปกรณ์เคลื่อนที่
  • height: 100svh — แผงส่วนติดต่อผู้ใช้แบบคงที่
  • font-size: clamp(1rem, 2.5vw, 2rem) — หัวข้อที่ปรับขนาดลื่นไหล
  • width: min(800px, 90vw) — คอนเทนเนอร์ที่มีความกว้างปลอดภัย

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

เหตุใดจึงควรใช้ dvh แทน vh สำหรับส่วนเต็มหน้าจอบนอุปกรณ์เคลื่อนที่

สรุปทบทวน

vw และ vh มีค่าเท่ากับ 1% ของความกว้างหรือความสูงวิวพอร์ต บนอุปกรณ์เคลื่อนที่ vh ไม่น่าเชื่อถือเนื่องจากส่วนติดต่อของเบราว์เซอร์ ให้ใช้ dvh สำหรับเลย์เอาต์เต็มหน้าจอแบบไดนามิกที่แม่นยำบนอุปกรณ์เคลื่อนที่ ส่วน vmin และ vmax จะตอบสนองต่อมิติวิวพอร์ตที่เล็กกว่าหรือใหญ่กว่า

เริ่มต้นได้ฟรี

เรียนรู้ CSS ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
40
บทเรียน
159

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

บทเรียน “หน่วยพื้นที่แสดงผล: vw vh และ dvh” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “หน่วยพื้นที่แสดงผล: vw vh และ dvh”

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

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

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

บทเรียน “หน่วยพื้นที่แสดงผล: vw vh และ dvh” ใช้เวลานานแค่ไหน

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

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

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

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

  1. หน่วยสัมบูรณ์: px pt และ cm
  2. หน่วยสัมพัทธ์: em และ rem
  3. หน่วยพื้นที่แสดงผล: vw vh และ dvh
  4. ฟังก์ชัน Min Max และ Clamp
← กลับไปที่ CSS Academy