เครื่องสร้าง 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> ที่มีคุณสมบัติมากกว่าของตัวเอง ซึ่งทรงพลังกว่าแต่ยาวกว่ามาก

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

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

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

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

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

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

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

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

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

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

เครื่องมือตรวจสอบหมายเลขโทรศัพท์

ตรวจสอบโครงสร้างหมายเลขตามประเทศ พร้อมดูภูมิภาค ประเภท และรูปแบบ E.164 ระหว่างประเทศ ในประเทศ และ RFC 3966