CSS @supports กฎที่สนับสนุน

การกำหนดและการใช้งาน

CSS @supports กฎนี้ใช้เพื่อทดสอบว่าเบราจเวิร์คสนับสนุน CSS ลักษณะใดๆ และกำหนดสไตล์ทางด้านตัวเลือกถ้าไม่สนับสนุน

ตัวอย่าง

ถ้าเบราจเวิร์คสนับสนุน display: grid ใช้ @supports CSS ในกฎ ถ้าไม่สนับสนุน ใช้ @supports สไตล์ class .container นอกกฎ

/* ถ้าเบราจเวิร์คไม่สนับสนุน display: grid ใช้ CSS นี้ */
.container {
  display: table;
  width: 90%;
  background-color: #2196F3;
  padding: 10px;
}
/* ถ้าเบราจเวิร์คสนับสนุน display: grid ใช้ CSS นี้ */
@supports (display: grid) {
  .container {
    display: grid;
    grid: auto;
    grid-gap: 10px;
    background-color: #2196F3;
    padding: 10px;
  }
}

ทดลองด้วยตัวเอง

การเขียน syntax CSS

@supports (supports-condition) {
  /* ถ้าเงื่อนไขในตัวเลือกเป็นความจริง ใช้ CSS นี้ */
}

ค่าของอุปกรณ์

ค่า การอธิบาย
supports-condition

กำหนดเงื่อนไขด้วยรูปแบบ property: value หรือ syntax function()

เงื่อนไขสามารถเชื่อมโยงด้วย and, or หรือ not

selector()

เป็น syntax function() ตรวจสอบว่าเบราจเวิร์คสนับสนุน syntax selector ที่กำหนด

ตัวอย่าง @supports selector(h2 > p) ถ้าเบราจเวิร์คสนับสนุน selector หลังลูก ก็จะกลับค่า true และใช้ CSS สไตล์

font-tech()

เป็น syntax function() ตรวจสอบว่าเบราจเวิร์คสนับสนุนเทคโนโลยีตัวอักษรที่กำหนด

ตัวอย่าง @supports font-tech(color-svg) ถ้าเบราจเวิร์คสนับสนุน SVG ตารางสีหลาก ก็จะกลับค่า true และใช้ CSS สไตล์

font-format()

เป็น syntax function() ตรวจสอบว่าเบราจเวิร์คสนับสนุนรูปแบบตัวอักษรที่กำหนด

ตัวอย่าง @supports font-format(woff) ถ้าเบราจเวิร์คสนับสนุน WOFF 1.0 ก็จะกลับค่า true และใช้ CSS สไตล์

การสนับสนุนโปรแกรมบราวเซอร์

ตัวเลขในตารางนี้แสดงรุ่นเบราจเวิร์คแรกที่สนับสนุน @ กฎ

@ กฎ Chrome Edge Firefox Safari Opera
@supports 28 12 22 9 12.1
font-format() 108 108 106 17 94
font-tech() 108 108 106 17 94
selector() 83 83 69 14.1 69