คุณสมบัติ backdrop-filter

คุณสมบัติ backdrop-filter อนุญาตให้ใช้ตัวกรอง (การเบลอ, การปรับคอนทราสต์, เอฟเฟกต์สี) กับพื้นที่ที่อยู่ด้านหลังองค์ประกอบ ซึ่งสร้างเอฟเฟกต์ "กระจก" หรือ "กระจกฝ้า"

ไวยากรณ์

cssตัวเลือก {
  backdrop-filter: none | <ตัวกรอง> [<ตัวกรอง>]*;
}

ค่า

ค่า คำอธิบาย
none ไม่ใช้ตัวกรอง (ค่าเริ่มต้น)
blur() ใช้เอฟเฟกต์เบลอ (ตัวอย่าง: blur(5px))
brightness() ปรับความสว่างของพื้นหลัง (ตัวอย่าง: brightness(0.5))
contrast() ปรับคอนทราสต์ของพื้นหลัง (ตัวอย่าง: contrast(200%))
drop-shadow() เพิ่มเงาให้พื้นหลัง
grayscale() แปลงพื้นหลังเป็นสีขาวดำ (ตัวอย่าง: grayscale(100%))
hue-rotate() เปลี่ยนโทนสีของพื้นหลัง (ตัวอย่าง: hue-rotate(90deg))
invert() กลับสีของพื้นหลัง (ตัวอย่าง: invert(100%))
opacity() ปรับความโปร่งแสงของพื้นหลัง (ตัวอย่าง: opacity(50%))
sepia() ใช้ซีเปียให้พื้นหลัง (ตัวอย่าง: sepia(100%))
saturate() ปรับความอิ่มตัวของสีพื้นหลัง (ตัวอย่าง: saturate(200%))

สามารถรวมตัวกรองหลายตัวได้โดยคั่นด้วยช่องว่าง

ตัวอย่าง . การเบลอแบบพื้นฐาน

เอฟเฟกต์เบลอพื้นหลังพื้นฐาน:

html<div class="blur-example">
  <div class="blur-box">
    เอฟเฟกต์เบลอพื้นหลัง
  </div>
</div>
css.blur-example {
  background: linear-gradient(135deg, #667eea, #764ba2);
  padding: 40px;
  height: 200px;
}

.blur-box {
  backdrop-filter: blur(6px);
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  padding: 20px;
  width: 80%;
  margin: 0 auto;
  text-align: center;
  color: white;
  font-size: 22px;
}

Результат:

ตัวอย่าง . ตัวกรองแสงอุ่น

เอฟเฟกต์แสงสว่างอุ่นด้วยความสว่างที่เพิ่มขึ้น:

html<div class="warm-light-bg">
  <div class="warm-light">
    เอฟเฟกต์แสงอุ่น
  </div>
</div>
css.warm-light-bg {
  background: url('bg.png');
  background-size: cover;
  padding: 50px;
  height: 250px;
}

.warm-light {
  backdrop-filter: brightness(1.2) hue-rotate(20deg);
  background-color: rgba(255, 235, 205, 0.3);
  padding: 25px;
  width: 70%;
  margin: 20px auto;
  text-align: center;
  color: #333;
  font-size: 24px;
}

Результат:

ตัวอย่าง . การเบลอพร้อมมาสก์แบบไล่ระดับสี

การผสมผสานระหว่างการเบลอกับไล่ระดับสีโปร่งแสง:

html<div class="gradient-mask">
  <div class="mask-content">
    เอฟเฟกต์มาสก์แบบไล่ระดับสี
  </div>
</div>
css.gradient-mask {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.mask-content {
  backdrop-filter: blur(10px);
  background: linear-gradient(to right, rgba(255,255,255,0.3), rgba(255,255,255,0));
  padding: 30px;
  width: 80%;
  margin: 0 auto;
}

Результат:

ตัวอย่าง . เอฟเฟกต์ภาพยนตร์เก่า

การผสมผสานระหว่างซีเปียกับเกรน:

html<div class="old-film">
  <div class="film-effect">
    เอฟเฟกต์ภาพยนตร์เก่า
  </div>
</div>
css.old-film {
  background: url('bg.png') center/cover;
  padding: 40px;
  height: 250px;
}

.film-effect {
  backdrop-filter: sepia(80%) contrast(110%) brightness(90%);
  background-color: rgba(0,0,0,0.1);
  padding: 25px;
  width: 70%;
  margin: 20px auto;
}

Результат:

ตัวอย่าง . ตัวกรองสีน้ำเงินเย็น

เอฟเฟกต์แสงสว่างเย็น:

html<div class="cold-bg">
  <div class="cold-effect">
    ตัวกรองสีน้ำเงินเย็น
  </div>
</div>
css.cold-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.cold-effect {
  backdrop-filter: hue-rotate(180deg) brightness(85%);
  background-color: rgba(200,230,255,0.2);
  padding: 30px;
  width: 75%;
  margin: 0 auto;
}

Результат:

ตัวอย่าง . คอนทราสต์สูง

เอฟเฟกต์คอนทราสต์ที่เพิ่มขึ้น:

html<div class="contrast-bg">
  <div class="contrast-effect">
    คอนทราสต์สูง
  </div>
</div>
css.contrast-bg {
  background: url('bg.png') center/cover;
  padding: 40px;
  height: 250px;
}

.contrast-effect {
  backdrop-filter: contrast(200%) brightness(90%);
  background-color: rgba(0,0,0,0.1);
  padding: 25px;
  width: 70%;
  margin: 20px auto;
}

Результат:

ตัวอย่าง . เอฟเฟกต์สีน้ำ

การเบลอแบบนุ่มกับความอิ่มตัวสีที่เพิ่มขึ้น:

html<div class="watercolor-bg">
  <div class="watercolor-effect">
    เอฟเฟกต์สีน้ำ
  </div>
</div>
css.watercolor-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.watercolor-effect {
  backdrop-filter: blur(12px) saturate(200%);
  background-color: rgba(255,255,255,0.15);
  padding: 30px;
  width: 80%;
  margin: 0 auto;
}

Результат:

ตัวอย่าง . เงาบนพื้นหลัง

เอฟเฟกต์เงาบนภาพพื้นหลัง:

html<div class="shadow-bg">
  <div class="shadow-effect">
    เอฟเฟกต์เงา
  </div>
</div>
css.shadow-bg {
  background: url('bg.png') center/cover;
  padding: 40px;
  height: 250px;
}

.shadow-effect {
  backdrop-filter: drop-shadow(4px 4px 10px rgba(0,0,0,0.5));
  background-color: rgba(255,255,255,0.2);
  padding: 25px;
  width: 70%;
  margin: 20px auto;
}

Результат:

ตัวอย่าง . การกลับสีเต็มรูปแบบ

การกลับสีพื้นหลังเต็มรูปแบบ:

html<div class="invert-bg">
  <div class="invert-effect">
    การกลับสีเต็มรูปแบบ
  </div>
</div>
css.invert-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.invert-effect {
  backdrop-filter: invert(100%);
  background-color: rgba(0,0,0,0.1);
  padding: 30px;
  width: 80%;
  margin: 0 auto;
}

Результат:

ตัวอย่าง . เอฟเฟกต์การทำให้มืด

การทำให้พื้นหลังมืดลงโดยคงความอ่านง่ายของข้อความ:

html<div class="darken-bg">
  <div class="darken-effect">
    พื้นหลังที่มืดลง
  </div>
</div>
css.darken-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.darken-effect {
  backdrop-filter: brightness(40%);
  background-color: rgba(0,0,0,0.3);
  color: white;
  padding: 30px;
  width: 80%;
  margin: 0 auto;
}

Результат:

ตัวอย่าง . เอฟเฟกต์การทำให้เป็นสีขาวดำ

การทำให้พื้นหลังเป็นสีขาวดำเต็มรูปแบบ:

html<div class="grayscale-bg">
  <div class="grayscale-effect">
    ตัวกรองขาวดำ
  </div>
</div>
css.grayscale-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.grayscale-effect {
  backdrop-filter: grayscale(100%);
  background-color: rgba(255,255,255,0.2);
  padding: 30px;
  width: 80%;
  margin: 0 auto;
}

Результат:

ตัวอย่าง . เอฟเฟกต์ความอิ่มตัวสีที่เพิ่มขึ้น

การเสริมสีของพื้นหลัง:

html<div class="saturate-bg">
  <div class="saturate-effect">
    สีที่อิ่มตัวสูง
  </div>
</div>
css.saturate-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.saturate-effect {
  backdrop-filter: saturate(300%);
  background-color: rgba(255,255,255,0.1);
  padding: 30px;
  width: 80%;
  margin: 0 auto;
}

Результат:

ตัวอย่าง . เอฟเฟกต์ศิลปะแบบผสม

การผสมผสานตัวกรองหลายตัวสำหรับเอฟเฟกต์ศิลปะ:

html<div class="artistic-bg">
  <div class="artistic-effect">
    การผสมผสานเชิงศิลปะ
  </div>
</div>
css.artistic-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.artistic-effect {
  backdrop-filter: blur(3px) hue-rotate(90deg) saturate(150%) contrast(120%);
  background-color: rgba(255,255,255,0.15);
  padding: 30px;
  width: 80%;
  margin: 0 auto;
  color: white;
  text-shadow: 0 0 5px black;
}

Результат:

ตัวอย่าง . เอฟเฟกต์ความโปร่งแสง

การปรับความโปร่งแสงของพื้นหลัง:

html<div class="opacity-bg">
  <div class="opacity-effect">
    การควบคุมความโปร่งแสง
  </div>
</div>
css.opacity-bg {
  background: url('bg.png') center/cover;
  padding: 50px;
  height: 300px;
}

.opacity-effect {
  backdrop-filter: opacity(50%);
  background-color: rgba(0,0,0,0.3);
  color: white;
  padding: 30px;
  width: 80%;
  margin: 0 auto;
}

Результат:

การรองรับโดยเบราว์เซอร์

คุณสมบัตินี้ได้รับการรองรับในเบราว์เซอร์สมัยใหม่ส่วนใหญ่ แต่อาจต้องใช้คำนำหน้า -webkit- เพื่อความเข้ากันได้ข้ามเบราว์เซอร์แบบสมบูรณ์

ดูเพิ่มเติม

  • คุณสมบัติ filter,
    ซึ่งใช้เอฟเฟกต์กับองค์ประกอบเอง
  • คุณสมบัติ opacity,
    ควบคุมความโปร่งแสงขององค์ประกอบ
  • คุณสมบัติ background-blend-mode,
    กำหนดโหมดการผสมภาพพื้นหลัง