tigtools

เครื่องมือสร้าง Box Shadow

ซ้อนเงาหนึ่งชั้นขึ้นไป ปรับด้วยแถบเลื่อน แล้วคัดลอก box-shadow ที่สร้างเสร็จ

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

ค่าที่กำหนดไว้ล่วงหน้า
เลเยอร์เงา
เลเยอร์ 1
0px
1px
2px
0px
12%
เลเยอร์ 2
0px
8px
24px
-4px
18%

เลเยอร์แรกจะแสดงอยู่ด้านบนสุด

12px

วิธีใช้งาน

  1. เริ่มจากค่าที่ตั้งไว้ล่วงหน้า หรือปรับระยะเยื้อง ระยะเบลอ ระยะขยาย สี และความทึบของชั้นแรก
  2. เพิ่มชั้นเพื่อให้ได้มิติที่ดูเป็นธรรมชาติมากขึ้น หรือเลือก “Inset” เพื่อสร้างเงาด้านใน
  3. ปรับพื้นหลังตัวอย่างและสีของกล่องให้เข้ากับดีไซน์ แล้วคัดลอก CSS

วิธีการทำงาน

แต่ละชั้นของ box-shadow ประกอบด้วยระยะเยื้องแนวนอน ระยะเยื้องแนวตั้ง รัศมีเบลอ ระยะขยาย และสี โดยอาจใส่ inset ไว้ข้างหน้าก็ได้ ค่าระยะเยื้องบวกจะเลื่อนเงาไปทางขวาและลงด้านล่าง การเบลอช่วยให้ขอบเงานุ่มลง และกำหนดเป็นค่าลบไม่ได้ ส่วนระยะขยายจะทำให้เงาใหญ่ขึ้น (ค่าบวก) หรือเล็กลง (ค่าลบ) ก่อนเบลอ หากมีหลายชั้น ให้คั่นแต่ละชั้นด้วยเครื่องหมายจุลภาค โดยชั้นแรกจะแสดงอยู่ด้านบนสุด

โดยทั่วไป เงาที่ดูมีมิติมักประกอบด้วยเงาขนาดเล็กที่ขอบคมและเงาขนาดใหญ่ที่ฟุ้งกว่าโดยใช้ความทึบต่ำ ซึ่งเป็นลักษณะของค่าที่ตั้งไว้ล่วงหน้า “ยกสูง” สีจะเขียนในรูปแบบ rgba() เพื่อระบุความทึบแสงอย่างชัดเจน เงาจะเป็นไปตาม border-radius ขององค์ประกอบและไม่กินพื้นที่ในเลย์เอาต์ จึงไม่ทำให้องค์ประกอบอื่นขยับ

เงาที่มีค่าเบลอสูงมากบนองค์ประกอบหลายรายการอาจทำให้การเลื่อนหน้าจอช้าลงในโทรศัพท์รุ่นเริ่มต้น หากต้องการทำภาพเคลื่อนไหวให้เงา โดยทั่วไปการค่อย ๆ แสดง pseudo-element ที่มีเงาอยู่แล้วจะลื่นไหลกว่าการทำภาพเคลื่อนไหวกับ box-shadow โดยตรง

ตัวอย่าง

การ์ดบนหน้าสีอ่อน

box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.12), 0 8px 24px -4px rgba(0, 0, 0, 0.18); ช่วยให้การ์ดมีทั้งขอบคมชัดและเงาฟุ้งที่ทำให้ดูยกขึ้น

วงแหวนโฟกัสที่ไม่ทำให้เลย์เอาต์ขยับ

ชั้นเงาที่มีระยะเยื้อง 0 เบลอ 0 และระยะขยาย 3px โดยใช้สีแบรนด์ของคุณ จะสร้างวงแหวนทึบรอบปุ่ม ต่างจากเส้นขอบตรงที่ไม่เปลี่ยนขนาดขององค์ประกอบ

ช่องกรอกข้อมูลแบบกดลง

inset 0 2px 6px 0 rgba(0, 0, 0, 0.25) ทำให้ช่องกรอกข้อความดูเหมือนยุบเข้าไปเล็กน้อย

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

box-shadow ต่างจาก filter: drop-shadow() อย่างไร

box-shadow เป็นไปตามกรอบและ border-radius ขององค์ประกอบ และรองรับระยะขยายกับ inset ส่วน drop-shadow() จะเป็นไปตามรูปร่างที่มองเห็น รวมถึงพื้นที่โปร่งใสในรูปภาพ PNG หรือ SVG แต่ไม่รองรับระยะขยายหรือ inset

ทำไมเงาของฉันถึงถูกตัด

องค์ประกอบแม่ที่กำหนด overflow: hidden จะตัดทุกอย่างที่อยู่นอกกรอบ รวมถึงเงาด้วย เพิ่ม padding ให้กับองค์ประกอบแม่หรือย้ายกฎ overflow ไปไว้ที่อื่น

ควรใช้เงากี่ชั้น

ส่วนใหญ่ใช้เพียงหนึ่งหรือสองชั้นก็เพียงพอ การเพิ่มชั้นอาจทำให้เงาดูเนียนขึ้น แต่ใช้ทรัพยากรในการวาดมากขึ้นเล็กน้อย ซึ่งมีผลกับรายการที่ยาว

ความเป็นส่วนตัว

สร้าง CSS ในเบราว์เซอร์ของคุณ โดยไม่มีการอัปโหลดหรือจัดเก็บข้อมูล