Rumah > hujung hadapan web > tutorial css > Resipi untuk mengesan sokongan untuk CSS at-rules

Resipi untuk mengesan sokongan untuk CSS at-rules

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-03-08 11:55:16
asal
926 orang telah melayarinya

Recipes for Detecting Support for CSS At-Rules

aturan

, pada mulanya terhad kepada pemeriksaan pasangan/nilai pasangan, kini menyokong pemeriksaan pemilih melalui @supports dan format format/cek teknologi menggunakan selector() dan font-format(). Walau bagaimanapun, secara langsung menguji sokongan AT-peraturan yang lain tetap menjadi cabaran. Fungsi pembungkus font-tech() yang dirancang, sambil menjanjikan, tidak mempunyai pelaksanaan pelayar yang meluas. at-rule()

Artikel ini meneroka penyelesaian untuk mengesan sokongan aturan, membina pendekatan harta "Telltale" Bramus. Kaedah ini memanfaatkan kehadiran sifat berkaitan yang dihantar bersama-sama dengan peraturan AT untuk membuat sokongan. Sekiranya harta yang berkaitan, yang boleh diuji disokong, aturan yang tidak dapat dijelaskan mungkin disokong juga.

Beberapa peraturan di diperiksa, dikategorikan oleh tahap sokongan penyemak imbas mereka:

Sokongan asas (pengesanan yang boleh dipercayai):

  • Pertanyaan saiz: @container Mudah diuji menggunakan sifat seperti , container-type, atau container-name. Jika mana -mana daripada ini disokong, container mungkin disokong. @container
@supports (container-type: size) {
  /* Size queries are supported! */
}
Salin selepas log masuk
  • : @font-feature-values Hartanah berfungsi sebagai penunjuk telltale. font-variant-alternates
@supports (font-variant-alternates: swash(custom-ident)) {
  /* @font-feature-values is supported! */
}
Salin selepas log masuk
  • : @font-palette-values Hartanah menyediakan ujian yang boleh dipercayai. font-palette
@supports (font-palette: normal) {
  /* @font-palette-values is supported! */
}
Salin selepas log masuk

Sokongan separa (workarounds diperlukan):

  • Pertanyaan gaya: @container Kurangnya harta benda tertentu, pendekatan peningkatan progresif digunakan. Gaya asas ditakrifkan, kemudian ditindih dalam blok untuk penyemak imbas yang menyokong. @container
.container {
  --supports-style-queries: true;
}

.container .child {
  /* Base styles */
}

@container style(--supports-style-queries: true) {
  /* Container queries are supported! */
  .child {
    /* Override base styles */
  }
}
Salin selepas log masuk
  • : @counter-style Sokongan untuk nilai dalam <custom-ident></custom-ident> menunjukkan list-style-type sokongan. @counter-style
@supports (list-style: custom-ident) {
  /* @counter-style is supported! */
}
Salin selepas log masuk
  • : @position-try sifat seperti atau anchor-name boleh digunakan untuk pengesanan. position-try
@supports (position-try: flip-block) {
  /* @position-try is supported! */
}
Salin selepas log masuk
  • : @scope Sama seperti pertanyaan gaya, strategi peningkatan progresif digunakan dengan gaya asas yang diatasi dalam blok . @scope
.foo .element {
  /* Base style */
}

@scope (.foo) to (.bar) {
  :scope .element {
    /* @scope is supported, override base style */
  }
}
Salin selepas log masuk
  • : harta @view-transition atau fungsi dengan view-transition-name boleh digunakan. selector() ::view-transition-group
@supports (view-transition-name: custom-ident) {
  /* @view-transition is supported! */
}
Salin selepas log masuk
cabaran yang tidak diselesaikan:

Artikel mengenal pasti @layer, @property, dan @starting-style sebagai at-rules yang mana kaedah pengesanan yang boleh dipercayai tetap sukar difahami, walaupun sokongan penyemak imbas yang munasabah. Siasatan lanjut digalakkan. Penulis mencadangkan pendekatan peningkatan progresif mungkin berfungsi untuk @layer.

Panduan Komprehensif ini menyediakan resipi praktikal untuk mengesan sokongan AT-peraturan dalam CSS, menawarkan penyelesaian untuk pelbagai tahap keserasian penyemak imbas. Pendekatan harta "Telltale" membuktikan berharga, tetapi beberapa peraturan masih memerlukan strategi ujian inovatif.

Atas ialah kandungan terperinci Resipi untuk mengesan sokongan untuk CSS at-rules. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan