Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

青灯夜游
Lepaskan: 2021-10-12 19:30:47
ke hadapan
6778 orang telah melayarinya

Artikel ini akan memberi anda pemahaman yang mendalam tentang dua pemilih yang agak cekap dalam CSS, anda boleh menggunakan kurang kod untuk memilih elemen dengan lebih berkesan, dengan itu memudahkan kod.

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

Apabila pendatang baru mula menggunakan CSS, mereka selalunya paling keliru dengan dua perkara (fikiran peribadi): 1. CSS adalah berdasarkan aliran dokumen, dan kadangkala kod yang ditulis adalah Tidak sesuai dengan jangkaan saya! 2. Pemilih kompleks, pemilih yang harus digunakan dalam senario yang berbeza, dan pemilih terlalu panjang, yang menjadikan pendatang baru sangat keliru. Sekeping kod seperti itu baru-baru ini ditemui dalam kod syarikat.

.home .col .card a i.i1,
.home .col .card a i.i2,
.home .col .card a i.i3,
.home .col .card a i.i4,
.home .col .card a i.i5,
.home .col .card a i.i5,
.home .col .card a i.i6,
.home .col .card a i.i7 {
  background-size: 35px;
  width: 60px;
  height: 42px;
  margin: auto;
}
Salin selepas log masuk

Sekilas pandang, memang ramai yang jadi orang serah terima.

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

Anda boleh menggunakan otak kecil anda dan mencuba penyelesaian yang berbeza untuk memudahkan singkatan kod ini!

Dalam artikel ini, kita akan bercakap tentang pemilih CSS3 yang lebih cekap, memastikan pemilih yang menarik perhatian.

:is

Pilih elemen dengan lebih cekap dengan kurang kod! 666, hebat! ! !

Ringkasnya, kod dipermudahkan dengan mengekstrak pemilih biasa!

Nota: :is() nama asal :match()

Contoh 1. Global: is

Senario: Semasa pembangunan front-end, tertentu Dalam sesetengah kes, warna teks mungkin konsisten dalam div yang berbeza.

Contohnya, dalam tiga div di bawah, warna teks bagi tiga div semuanya berwarna merah.

    <div class="div1">
        <p>p1</p>
    </div>
    <div class="div2">
        <p>p2</p>

    </div>
    <div class="div3">
        <p>p3</p>
    </div>
Salin selepas log masuk

Versi asas (novis)

Bagi ramai orang baru, kaedah penulisan berikut memang akan muncul: tetapkan p yang sama untuk div yang berbeza.

.div1>p{
    color:red;
}
.div2>p{
    color:red;
}
.div3>P{
    color:red;
}
Salin selepas log masuk

Versi lanjutan

Apabila kod yang ditulis meningkat, orang baru secara beransur-ansur mendapati bahawa terdapat banyak kod biasa yang boleh diekstrak. Contohnya, warna:merah di sini boleh diekstrak. Wah, kod telah dikurangkan dengan banyak serta-merta! ! !

.div1>p,
.div2>p,
.div3>P{
    color:red;
}
Salin selepas log masuk

Versi lanjutan (:is)

Pada masa ini, orang baru terasa lagi, kerana warna:merah boleh disebut, kenapa tidak p? Jadi versi yang lebih ringkas berikut muncul.

:is(.div1,.div2,.div3) >P {
  color:red;
}
Salin selepas log masuk

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

Contoh 2 Elemen khusus: ialah

Lihat kod berikut, kami ingin menyedari bahawa warna div adalah merah, dan definisi warna adalah dalam textColor, dan mengekalkan p hitam.

<div class="textColor">
        p1
</div>
<div class="textColor">
    p2
</div>
<div class="textColor">
    p3
</div>
<p class="textColor">p4</p>
Salin selepas log masuk

Selepas membaca Contoh 1 di atas, saya rasa beberapa orang baru akan mula menulis seperti ini: terus menambah gaya baharu pada tag p.

:is(.textColor) {    color:red;

}.pColor{   color: black;
}
<p class="textColor pColor">p4</p>
Salin selepas log masuk

Walau bagaimanapun: is menyokong penulisan elemen tertentu: anda hanya perlu menambah

div:is(.textColor) {
    color:red;
}
Salin selepas log masuk

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

berbilang:is di hadapan:is

div:is(.textColor) :is(h1,h4){
  color:red;
}
<div class="textColor">
  <h1>h1</h1>
  <h2>h2</h2>
  <h3>h3</h3>
  <h4>h4</h4>
</div>
Salin selepas log masuk

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

Berat

: Berat is ditentukan oleh id yang disediakan, elemen dan pemilih lain; ia mungkin sukar difahami. Satu contoh akan menjadikannya jelas dengan segera.

<ol id="olID">
    <li>li1</li>
    <li>li2</li>
</ol>
Salin selepas log masuk

Jom tukar warna fon li.

:is(ol) li {
  color: red;
}
ol li {
  color: blue;
}
Salin selepas log masuk

Anda boleh teka warna apa.

berwarna biru: Mengapa, pertama sekali, parameter ialah ol, yang konsisten dengan berat pemilih ol di bawah. Dan kerana biru berada di bahagian bawah, penyemak imbas secara automatik menggunakan biru untuk menutup merah.

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

Melihat tulisan di bawah, kami menambah id pada parameter ialah: #olID, dan warna akhir ialah merah. Ini kerana is menggunakan pemilih id berat yang lebih tinggi.

 :is(ol,#olID) li {
        color: red;
      }
      ol li {
        color: blue;
      }
Salin selepas log masuk

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

:where

:Parameter sintaks where dan :is adalah betul-betul sama. Satu-satunya perbezaan ialah berat di mana sentiasa 0, atau yang paling rendah. Masih contoh yang sama di atas.

<ol id="olID">
  <li>li1</li>
  <li>li2</li>
</ol>
Salin selepas log masuk

Di sini kami:

:where(ol,#olID) li {
  color: red;
}
ol li {
  color: blue;
}
Salin selepas log masuk

Keputusan akhir adalah biru

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

Senario aplikasi

Kerana Saya perlu katakan, kerana anda ada, mengapa anda perlu: di mana secara peribadi, saya fikir: di mana masih sangat berguna. Sebagai contoh, apabila membangunkan perpustakaan komponen, ia boleh digunakan, kerana berat di mana sangat rendah, jadi mudah untuk pengguna untuk menutupnya, dan tidak perlu apa-apa, v-deep dan seumpamanya.

Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!

PS: Buah berangan kecil dalam kata pengantar boleh dioptimumkan

Alamat asal: https://juejin. cn/ post/7005366966554722312

Pengarang: pemilih bahagian hadapan

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Video Pengaturcaraan! !

Atas ialah kandungan terperinci Ketahui lebih lanjut tentang :is() dan :where() dalam CSS untuk menjadikan kod gaya anda lebih ringkas!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
css
sumber:juejin.cn
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