Rumah >hujung hadapan web >tutorial css >@Supports Selector ()

@Supports Selector ()

Lisa Kudrow
Lisa Kudrowasal
2025-03-18 12:06:10428semak imbas

Keupayaan peraturan @supports untuk memeriksa sokongan pemilih adalah mengejutkan teguh! Walaupun sering digunakan untuk menguji property: value , fungsi selector() memanjangkan keupayaannya untuk menilai sokongan pemilih. Ini dilakukan dengan hanya meletakkan pemilih dalam kurungan:

 @Supports Selector (: nth-child (1 of .foo)) {
  / * Gaya yang digunakan jika pemilih disokong */
}

The :nth-child(n of .foo) pemilih, "argumen senarai pemilih" yang serasi dengan :nth-child , berfungsi sebagai contoh yang baik. Pada masa ini, hanya Safari yang menyokong pemilih khusus ini.

Pertimbangkan senario di mana anda perlu gaya senarai dengan pemisah dan jalur zebra. Sebaik -baiknya, anda akan menggunakan pemilih seperti ini untuk mencapai jalur zebra sambil mengabaikan pemisah:

 li: nth-child (ganjil .list-item) {
  Latar Belakang: Lightgoldenrodyellow;
}

Walau bagaimanapun, disebabkan sokongan penyemak imbas terhad, anda boleh menggunakan @supports untuk menggunakan gaya ini:

 @Supports Selector (: nth-child (1 of .foo)) {
  li {
    Padding: 0.25em;
  }
  li: nth-child (ganjil .list-item) {
    Latar Belakang: Lightgoldenrodyellow;
  }
  li.separator {
    Senarai gaya: Tiada;
    Margin: 0.25em 0;
  }
}
@Supports bukan pemilih (: nth-child (1 of .foo)) {
  li.separator {
    Ketinggian: 1px;
    Senarai gaya: Tiada;
    Border-top: 1px berwarna ungu;
    Margin: 0.25em 0;
  }
}

Ini memberikan gaya sandaran untuk pelayar yang tidak mempunyai sokongan untuk pemilih lanjutan. Sintaks yang lebih baik, yang berpotensi menggunakan @when dan @else , dapat memudahkan ini:

 / * Sintaks masa depan hipotetikal */
@When menyokong (pemilih (: nth-child (1 of .foo))) {
  / * Gaya untuk penyemak imbas */
} @else {
  / * Gaya Fallback */
}

API JavaScript juga wujud untuk menguji sokongan pemilih:

 Css.supports ("pemilih (: nth-child (1 of .foo))")

Kaedah ini kembali true dalam safari dan false dalam krom (pada masa penulisan).

Walaupun peraturan @supports berkuasa, bilangan pemilih CSS dengan sokongan silang penyemak imbas yang tidak konsisten, dan bilangan kes penggunaan yang memerlukan @supports untuk pemilih tersebut, agak kecil. Ramai pemilih yang bermasalah sebelum ini, seperti ::marker dan pemilih atribut yang tidak sensitif, kini menikmati sokongan yang luas. Pemilih seperti :fullscreen atau :-webkit-full-screen mungkin menawarkan aplikasi yang menarik dan berguna kerana kekurangan sokongan mereka yang unik dalam safari iOS.

@Supports Selector ()

Atas ialah kandungan terperinci @Supports Selector (). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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
Artikel sebelumnya:Butang hantu gula-gula css-ingArtikel seterusnya:Butang hantu gula-gula css-ing