ข้ามไปยังเนื้อหาหลัก

สร้าง CSS Box Shadow ฟรี

ตัวสร้าง CSS box-shadow แบบ visual พร้อมตัวอย่างสดๆ การซ้อนหลายชั้น color picker สลับ inset และคัดลอกในคลิกเดียว มี preset ของ Material, neumorphism และ glow

ใช้งานได้แบบออฟไลน์เมื่อโหลดแล้ว
พื้นหลังตัวอย่าง

ลากกล่องเพื่อวางตำแหน่งเงาของชั้นที่ใช้งาน - กด Shift ค้างไว้เพื่อควบคุมอย่างละเอียด

box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.15);

ค่าสำเร็จรูป

การใช้งานทั่วไป

  • เงา Card UIสร้างเงาการ์ดที่สวยงามสำหรับแดชบอร์ดและตารางสินค้า
  • ปุ่มผลกระทบการแสดงสร้างเงาปุ่มที่เลียนแบบความลึกของโลกแห่งความจริงและสถานะการกดดัน
  • Neumorphism Soft UIสร้างลักษณะ soft-UI neumorphism พร้อมเงาสว่าง + มืดที่จับคู่
  • เงา Modal และ Popoverสร้างความรู้สึกเพิ่มเติม ลอยสำหรับกล่องโต้ตอบและเมนูแบบเลื่อนลง
  • เอฟเฟกต์แสงจ้าและวงแหวนโฟกัสสร้างเอฟเฟกต์การเน้นแสงจ้า วงแหวนโฟกัส และไฮไลต์สไตล์เนออน

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

ตัวสร้าง box-shadow เป็นเครื่องมือ React ฝั่งไคลเอนต์ทั้งหมด — ไม่มีเซิร์ฟเวอร์ ไม่มีไลบรารี เก็บรายการออบเจกต์เลเยอร์เงาไว้ใน state ประกอบสตริง CSS box-shadow ที่ถูกต้องทุกครั้งที่เปลี่ยนด้วยตัวจัดรูปแบบ rgba() ที่เขียนขึ้นเอง และใช้กับองค์ประกอบตัวอย่างโดยตรงผ่าน style prop ของ React เอนจินเรนเดอร์ของเบราว์เซอร์จึงวาดผลลัพธ์ทันที

  1. 1
    พารามิเตอร์เลเยอร์ป้อนเข้าตัวจัดรูปแบบ
    แต่ละเลเยอร์เงาเก็บค่าชดเชย x/y ความเบลอ การกระจาย สีแบบ hex และค่าความทึบ ทุกครั้งที่เปลี่ยน ฟังก์ชัน shadowToCss ขนาดเล็กจะแปลงสี hex เป็นส่วนประกอบ RGB ด้วย regex แล้วประกอบสตริง rgba() — เช่น 0px 4px 12px 0px rgba(0, 0, 0, 0.15) เลเยอร์หลายชั้นเชื่อมด้วยจุลภาค
  2. 2
    เบราว์เซอร์เรนเดอร์ตัวอย่างสด
    สตริงที่ประกอบแล้วถูกกำหนดให้คุณสมบัติ style boxShadow ขององค์ประกอบ div ใน JSX โดยตรง React อัปเดตแอตทริบิวต์ DOM และเอนจิน CSS ของเบราว์เซอร์วาดเงาทันที — ไม่มี canvas หรือ WebGL มีแค่การเรนเดอร์ CSS แบบเนทีฟ
  3. 3
    ลากเพื่อจัดตำแหน่งใช้ Pointer Events API
    การคลิกและลากกล่องตัวอย่างจะเรียก setPointerCapture บนองค์ประกอบ แล้วติดตามค่าเปลี่ยนแปลงของ onPointerMove เพื่ออัปเดตค่าชดเชย x และ y ของเลเยอร์ที่ใช้งานแบบเรียลไทม์ การกด Shift ค้างไว้จะใช้ตัวคูณ 0.25x สำหรับการจัดตำแหน่งอย่างละเอียด
  4. 4
    ผลลัพธ์ถูกคัดลอกไปยังคลิปบอร์ด
    เครื่องมือสร้างผลลัพธ์สองรูปแบบจากข้อมูลเลเยอร์เดียวกัน: การประกาศ CSS box-shadow มาตรฐาน และคลาส Tailwind แบบค่ากำหนดเอง (shadow-[...]) ซึ่งช่องว่างถูกแทนด้วยขีดล่างตามกฎไวยากรณ์ของ Tailwind การคัดลอกคลิกเดียวใช้ navigator.clipboard.writeText

เครื่องมือที่เกี่ยวข้อง

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