เครื่องสร้าง CSS Filter

ถัดไป

CSS filter ใช้เอฟเฟกต์การประมวลผลภาพ เช่น เบลอ ความสว่าง คอนทราสต์ และความอิ่มสี กับองค์ประกอบใดๆ ไม่ใช่แค่ภาพเท่านั้น ข้อผิดพลาดมักเกิดขึ้นตอนเชื่อมฟิลเตอร์หลายตัวและกำหนดหน่วยให้ถูกต้อง ตัวสร้างนี้จะสร้างคำสั่ง filter สำหรับห้าฟังก์ชันที่พบบ่อยที่สุด ได้แก่ เบลอ ความสว่าง คอนทราสต์ ระดับเทา และความอิ่มสี ใส่ค่าของคุณแล้วคัดลอก CSS ที่ได้

วิธีสร้างสายโซ่ฟิลเตอร์

  1. 1

    ใส่ค่า

    เบลอใช้หน่วยพิกเซล ส่วนความสว่าง คอนทราสต์ ระดับเทา และความอิ่มสีใช้เปอร์เซ็นต์

  2. 2

    เข้าใจสเกล

    ความสว่างและคอนทราสต์ที่ 100% หมายถึงไม่เปลี่ยนแปลง ที่ 0% องค์ประกอบจะเป็นสีดำหรือเทา ระดับเทาไล่จาก 0% (สีเต็ม) ถึง 100% (ไร้สีโดยสิ้นเชิง) ความอิ่มสีที่ 100% คงสีไว้ตามเดิม

  3. 3

    สร้าง CSS

    คลิกปุ่ม เครื่องมือจะแสดงกฎ `filter` รวมทั้งห้าฟังก์ชัน

  4. 4

    คัดลอกกฎ

    คัดลอกผลลัพธ์และวางลงในสไตล์ชีตของคุณ

  5. 5

    ตรวจสอบลำดับ

    ฟังก์ชันถูกใช้จากซ้ายไปขวา หากเอฟเฟกต์ไม่ตรงกับที่คาดไว้ ให้ปรับค่า

ฟังก์ชัน filter

ฟังก์ชัน หน่วย เอฟเฟกต์
blur() px เบลอแบบเกาส์เซียน 0 = ไม่เบลอ
brightness() % หรือทศนิยม 100% = ไม่เปลี่ยน, 0% = ดำ, 200% = สองเท่า
contrast() % หรือทศนิยม 100% = ไม่เปลี่ยน, 0% = เทา, 200% = สองเท่า
saturate() % หรือทศนิยม 100% = ไม่เปลี่ยน, 0% = ขาวดำ
grayscale() % หรือทศนิยม 0% = ไม่เปลี่ยน, 100% = ลดอิ่มสีเต็มที่
sepia() % หรือทศนิยม 0% = ไม่เปลี่ยน, 100% = ซีเปียเต็มที่
hue-rotate() deg 0deg = ไม่เปลี่ยน หมุนวงล้อเฉดสี
invert() % หรือทศนิยม 0% = ไม่เปลี่ยน, 100% = กลับสีเต็มที่
opacity() % หรือทศนิยม เหมือนกับคุณสมบัติ opacity
drop-shadow() x y เบลอ สี เหมือน box-shadow แต่ตามความทึบ/clip-path

ลำดับการต่อมีผล

filter: brightness(0.5) saturate(2) ใช้ความสว่างก่อน แล้วจึงความอิ่มสี filter ทั้งสองทบกัน

filter: saturate(2) brightness(0.5) ใช้ความอิ่มสีก่อน เพราะภาพสว่างกว่าก่อนถูกทำให้มืดลง ความอิ่มสีจึงเด่นชัดกว่า

ความต่างทางภาพละเอียดอ่อนแต่มีจริง ลองทั้งสองลำดับเมื่อชุด filter ไม่เป็นอย่างที่คุณคาด

สูตรที่พบบ่อย

/* ลุคภาพซีดจาง */
filter: contrast(0.9) saturate(0.85) brightness(1.05);

/* วินเทจ / ซีดจาง */
filter: sepia(0.3) contrast(1.1) brightness(0.95);

/* การประมาณ duotone */
filter: grayscale(1) sepia(1) hue-rotate(180deg) saturate(1.5);

/* ทำ hero ให้มืดลง */
filter: brightness(0.6);

/* สถานะปิดใช้งาน */
filter: grayscale(1) opacity(0.6);

/* โอเวอร์เลย์กระจกฝ้า */
filter: blur(12px) saturate(1.3);

backdrop-filter สำหรับกระจกฝ้า

filter ใช้กับองค์ประกอบนั้นเอง backdrop-filter ใช้กับ สิ่งที่อยู่ด้านหลัง องค์ประกอบกึ่งโปร่งใส คือเอฟเฟกต์กระจกฝ้าที่ iOS ทำให้เป็นที่นิยม

.modal-backdrop {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(20px) saturate(1.2);
}

การรองรับ: เบราว์เซอร์สมัยใหม่ทั้งหมด Firefox รองรับโดยไม่ต้องใช้ flag ตั้งแต่ 103+

หมายเหตุด้านประสิทธิภาพ

  • blur() เป็น filter ที่แพงที่สุดเพราะต้องคอนโวลฟ์ทุกพิกเซลด้วยเคอร์เนล การเบลอ 30px บนภาพ hero 4K เสียเฟรมจริง
  • grayscale, sepia, brightness และที่คล้ายกันเป็นการแปลงสีต่อพิกเซล ราคาถูก
  • filter ถูกเร่งด้วย GPU ในเบราว์เซอร์สมัยใหม่ แต่การแอนิเมต blur() ยังกระตุกบนอุปกรณ์ระดับล่าง
  • ควรใช้ will-change: filter ก่อนแอนิเมต

filter: drop-shadow() เทียบ box-shadow

  • box-shadow ตามกล่องขอบขององค์ประกอบ (เคารพ border-radius)
  • filter: drop-shadow() ตามพิกเซลที่ไม่โปร่งใสขององค์ประกอบ หมายความว่ามันลากตามรูป clip-path ความโปร่งใส PNG และเส้นทาง SVG

สำหรับเงาบนภาพที่ถูกตัดหรือโปร่งใส ให้ใช้ drop-shadow สำหรับการ์ดและกล่องมาตรฐาน box-shadow เร็วกว่า

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

ใช่ filter ถูกใช้กับองค์ประกอบและลูกหลานทั้งหมดเป็นกลุ่ม หากคุณ filter ตัวแม่ ตัวลูกจะรวมอยู่ด้วย หากต้องการ filter เฉพาะพื้นหลังของตัวแม่ ให้วางเนื้อหาในบริบทการเรียงซ้อนแยกต่างหากหรือใช้ backdrop-filter

เพราะการเบลอใช้กับทั้งองค์ประกอบรวมถึงข้อความที่เรนเดอร์แล้ว ไม่มีวิธีเบลอพื้นหลังขณะคงข้อความให้คมด้วย filter ธรรมดา ให้ใช้ backdrop-filter บนโอเวอร์เลย์กึ่งโปร่งใส โดยคงข้อความไว้นอกองค์ประกอบที่ถูก filter

ได้ ทุกฟังก์ชัน filter แอนิเมตได้ จับตาประสิทธิภาพการเบลอบนมือถือ การแอนิเมตรัศมีการเบลอมีต้นทุนสูงอย่างเห็นได้ชัด grayscale, sepia และ brightness แอนิเมตได้ราคาถูก

ได้ CSS filter ใช้กับองค์ประกอบ SVG เหมือนองค์ประกอบ DOM อื่นใด SVG ยังมีระบบองค์ประกอบ <filter> ที่มีคุณสมบัติมากกว่าของตัวเอง ซึ่งทรงพลังกว่าแต่ยาวกว่ามาก

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

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

ตัวสร้างลูกศร CSS

สร้างลูกศร CSS ในเบราว์เซอร์ด้วยทิศทาง สี ขนาด และความหนาของเส้นขอบ แล้วคัดลอกกฎ.

เครื่องสร้างตัวอักษรสุ่ม

สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน

เครื่องมือนี้มีให้บริการในภาษาอื่น