ความทึบและความโปร่งใสแบบ RGBA
ควบคุมความโปร่งใสขององค์ประกอบด้วยคุณสมบัติ opacity และค่าสี rgba()
ความทึบและความโปร่งใสแบบ RGBA เป็นบทเรียน CSS Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CSS Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CSS Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณสมบัติความทึบแสง
คุณสมบัติ opacity กำหนด ความโปร่งใสขององค์ประกอบทั้งหมด รวมถึงองค์ประกอบลูกและเนื้อหาภายใน ค่ามีตั้งแต่ 0 ซึ่งโปร่งใสทั้งหมด ไปจนถึง 1 ซึ่งทึบแสงทั้งหมด
<div class="overlay">Overlay at 50% opacity</div>
ความทึบแสงมีผลต่อองค์ประกอบลูกทั้งหมด
ข้อควรระวังสำคัญคือ opacity มีผลต่อลำดับชั้นขององค์ประกอบทั้งหมด ข้อความ ภาพ และองค์ประกอบลูกภายในองค์ประกอบที่มี opacity: 0.5 จะโปร่งใส 50% ทั้งหมด คุณไม่สามารถทำให้องค์ประกอบลูกทึบแสงกว่าระดับขององค์ประกอบแม่ได้
ใช้ RGBA เพื่อทำให้โปร่งใสเฉพาะสี
หากต้องการทำให้เฉพาะ สีพื้นหลัง โปร่งใสโดยไม่ส่งผลต่อข้อความหรือองค์ประกอบลูก ให้ใช้ rgba() แทน opacity:
<div class="card">Card with transparent background, opaque text</div>
การเปรียบเทียบ RGBA กับความทึบแสง
ให้จดจำด้วยแนวคิดนี้:
opacity: 0.5— องค์ประกอบทั้งหมดและองค์ประกอบลูกจะโปร่งใสrgba(r,g,b,0.5)— มีเพียงค่าสีที่โปร่งใส องค์ประกอบลูกไม่ได้รับผลกระทบ
ความโปร่งใสแบบ HSLA
หลักการเดียวกันนี้ใช้กับ hsla() อาร์กิวเมนต์ตัวที่สี่คือช่องอัลฟา ซึ่งมีค่าตั้งแต่ 0–1:
<div class="tooltip">Tooltip with HSLA background</div>
ไวยากรณ์สมัยใหม่ที่คั่นด้วยช่องว่าง
CSS สมัยใหม่อนุญาตให้ใช้เครื่องหมายทับคั่นค่าอัลฟาใน rgb() และ hsl() โดยไม่ต้องใช้รูปแบบชื่อที่ลงท้ายด้วยตัวอักษร a:
<div class="modern-rgb">rgb(0 0 0 / 0.5)</div>
<div class="modern-hsl">hsl(0 0% 0% / 0.5)</div>
ความทึบแสง: 0 เทียบกับซ่อนการมองเห็น เทียบกับไม่แสดงผล
ทั้งสามวิธีซ่อนองค์ประกอบ แต่ทำงานแตกต่างกัน:
opacity: 0— มองไม่เห็น แต่ยังใช้พื้นที่และคลิกได้visibility: hidden— มองไม่เห็น ยังคงใช้พื้นที่ แต่คลิกไม่ได้display: none— ถูกนำออกจากเค้าโครงทั้งหมด
การเปลี่ยนความทึบแสง
เนื่องจาก opacity ถูกประกอบภาพบน GPU จึงเป็นหนึ่งในคุณสมบัติ CSS ที่ใช้ทรัพยากรน้อยที่สุดเมื่อทำภาพเคลื่อนไหว เอฟเฟกต์ค่อย ๆ ปรากฏหรือจางหายควรใช้การเปลี่ยนค่า opacity แทนการเปลี่ยนสีพื้นหลังเสมอ
<div class="modal visible">Fades in via opacity transition</div>
รูปแบบพื้นหลังโปร่งใส
หากต้องการให้พื้นหลังขององค์ประกอบโปร่งแสง แต่ยังคงอ่านข้อความได้ชัดเจน ให้ใช้ rgba() กับ background-color:
<div class="glass-card">Glass effect card</div>
อัลฟาในเส้นขอบและเงากล่อง
ใช้ RGBA ใน border-color และ box-shadow เพื่อสร้างเอฟเฟกต์โปร่งใสที่ดูละเอียดอ่อน:
<div class="card">Card with alpha border & shadow</div>
ข้อเตือนใจด้านการเข้าถึง
ข้อความที่มีความทึบแสงต่ำจะอ่านได้ยากขึ้น และอาจไม่ผ่านข้อกำหนดอัตราส่วนความเปรียบต่างของสีตาม WCAG ควรตรวจสอบอัตราส่วนความเปรียบต่างทุกครั้งเมื่อใช้ความโปร่งใสกับข้อความ และตรวจสอบให้แน่ใจว่าข้อความปกติมีอัตราส่วนอย่างน้อย 4.5:1
ตรวจสอบความเข้าใจ
องค์ประกอบหนึ่งมีค่า opacity: 0.3 ข้อความภายในองค์ประกอบนั้นจะเป็นอย่างไร
สรุป
opacity ทำให้องค์ประกอบทั้งหมดและองค์ประกอบลูกโปร่งใส ให้ใช้ rgba() หรือ hsla() สำหรับสีโปร่งใสโดยไม่ส่งผลต่อองค์ประกอบลูก การเปลี่ยนค่า opacity ใช้การเร่งด้วย GPU และทำงานได้มีประสิทธิภาพ ควรตรวจสอบอัตราส่วนความเปรียบต่างเสมอเมื่อใช้ความโปร่งใสกับข้อความ
คำถามที่พบบ่อย
บทเรียน “ความทึบและความโปร่งใสแบบ RGBA” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ความทึบและความโปร่งใสแบบ RGBA” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CSS Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CSS Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ความทึบและความโปร่งใสแบบ RGBA”
ควบคุมความโปร่งใสขององค์ประกอบด้วยคุณสมบัติ opacity และค่าสี rgba() คุณปฏิบัติ CSS Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CSS Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน CSS Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “ความทึบและความโปร่งใสแบบ RGBA” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน CSS Academy นี้ได้ไหม
ได้ บทเรียน CSS Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ค่าสี: ชื่อ รหัสฐานสิบหก RGB และ HSL
- สีพื้นหลังและรูปภาพ
- การไล่ระดับสี: เชิงเส้นและแนวรัศมี
- ความทึบและความโปร่งใสแบบ RGBA