S-a întâmplat un lucru mic în drumul spre publicarea CSS :has()
selector la vechiul Almanah. Am descris inițial :has()
ca un selector „îngăduitor”, ideea fiind că orice din argumentul său este evaluat, chiar dacă unul sau mai mulți itemi sunt invalid.
/* Example: Do not use! */
article:has(h2, ul, ::-scoobydoo) { }
Vedea ::scoobydoo
acolo? Asta e total invalid. O listă de selectoare iertatoare ignoră acel selector fals și continuă să evalueze restul elementelor ca și cum ar fi scris astfel:
article:has(h2, ul) { }
:has()
a fost într-adevăr un selector îngăduitor într-un proiect anterior din 7 mai 2022. Dar asta sa schimbat după ce a fost raportată o problemă că natura iertătoare intră în conflict cu jQuery când :has()
conține un selector complex (de ex header h2 + p
). W3C a ajuns la o rezoluție de a face :has()
un selector „neiertat”. acum doar câteva săptămâni.
Deci, exemplul nostru anterior? Întreaga listă de selectoare este invalidă, deoarece selectorul fals este invalid. Dar ceilalți doi selectori iertatori, :is()
și :where()
, sunt lăsate neschimbate.
Există o mică soluție pentru asta. Tine minte, :is()
și :where()
sunt iertătoare, chiar dacă :has()
nu este. Asta înseamnă că putem cuibari oricare dintre acești selectori :has()
pentru a obține un comportament mai iertător:
article:has(:where(h2, ul, ::-scoobydoo)) { }
Pe care îl folosiți ar putea conta din cauza specificității :is()
este determinat de elementul cel mai specific din lista sa. Deci, dacă ai nevoie de ceva mai puțin specific, ai face mai bine să ajungi :where()
întrucât nu se adaugă la scorul de specificitate.
/* Specificity: (0,0,1) */
article:has(:where(h2, ul, ::-scoobydoo)) { } /* Specificity: (0,0,2) */
article:has(:is(h2, ul, ::-scoobydoo)) { }
Am actualizat câteva dintre postările noastre pentru a reflecta cele mai recente informații. Văd o mulțime de altele în sălbăticie care trebuie actualizate, așa că doar un mic PSA pentru oricine trebuie să facă același lucru.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://css-tricks.com/has-is-an-unforgiving-selector/
- :are
- 1
- 7
- a
- și
- oricine
- argument
- articol
- deoarece
- fiind
- Mai bine
- Pic
- complex
- conține
- CSS
- datat
- descris
- determinat
- proiect
- oricare
- Întreg
- evalua
- evaluat
- Chiar
- exemplu
- puțini
- obține
- GitHub
- sa întâmplat
- HTTPS
- idee
- in
- info
- problema
- IT
- articole
- jQuery
- Ultimele
- Listă
- mic
- materie
- mijloace
- ar putea
- mai mult
- cele mai multe
- Natură
- Nevoie
- nevoilor
- Nest
- ONE
- iniţial
- Altele
- Altele
- Plato
- Informații despre date Platon
- PlatoData
- mulțime
- postări
- precedent
- venituri
- Editare
- reflecta
- minte
- Rezoluţie
- REST
- acelaşi
- vedere
- întrucât
- So
- ceva
- specific
- specificitate
- lucru
- la
- INTRU TOTUL
- actualizat
- utilizare
- săptămâni
- OMS
- Sălbatic
- scris
- Tu
- zephyrnet