На шляху до публікації сталася дрібниця CSS :has()
селектор до старого альманаху. Я спочатку описав :has()
як «прощаючий» селектор, ідея полягає в тому, що будь-що в його аргументі оцінюється, навіть якщо один або більше елементів є недійсними.
/* Example: Do not use! */
article:has(h2, ul, ::-scoobydoo) { }
Читати ::scoobydoo
там? Це абсолютно недійсно. Прощаючий список селектора ігнорує цей фіктивний селектор і продовжує оцінювати решту елементів так, ніби це було написано так:
article:has(h2, ul) { }
:has()
був дійсно поблажливим селекціонером у попередньому проекті від 7 травня 2022 року. Але це змінилося після повідомлення про проблему що всепрощаюча природа конфліктує з jQuery, коли :has()
містить складний селектор (наприклад, header h2 + p
). W3C прийняв резолюцію зробити :has()
«невблаганний» селектор всього кілька тижнів тому.
Отже, наш попередній приклад? Весь список селекторів недійсний, оскільки фальшивий селектор недійсний. Але два інших вибачливих селектора, :is()
та :where()
, залишаються без змін.
Для цього є певний обхідний шлях. Пам'ятайте, :is()
та :where()
прощають, навіть якщо :has()
не. Це означає, що ми можемо вкладати будь-який із цих селекторів :has()
щоб отримати більш поблажливу поведінку:
article:has(:where(h2, ul, ::-scoobydoo)) { }
Який із них ви використовуєте, може мати значення через специфіку :is()
визначається найбільш конкретним пунктом у його списку. Отже, якщо вам потрібно щось менш конкретне, вам краще потягнутися до цього :where()
оскільки це не додає до оцінки специфічності.
/* Specificity: (0,0,1) */
article:has(:where(h2, ul, ::-scoobydoo)) { } /* Specificity: (0,0,2) */
article:has(:is(h2, ul, ::-scoobydoo)) { }
Ми оновили кілька наших публікацій, щоб відобразити останню інформацію. Я бачу багато інших у дикій природі, які потрібно оновити, тож лише невелика PSA для тих, кому потрібно зробити те саме.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- джерело: https://css-tricks.com/has-is-an-unforgiving-selector/
- : має
- 1
- 7
- a
- та
- будь
- аргумент
- стаття
- оскільки
- буття
- Краще
- Біт
- комплекс
- містить
- CSS
- датований
- описаний
- певний
- проект
- або
- Весь
- оцінювати
- оцінюється
- Навіть
- приклад
- кілька
- отримати
- GitHub
- сталося
- HTTPS
- ідея
- in
- інформація
- питання
- IT
- пунктів
- jQuery
- останній
- список
- трохи
- Матерія
- засоби
- може бути
- більше
- найбільш
- природа
- Необхідність
- потреби
- Гніздо
- ONE
- спочатку
- Інше
- інші
- plato
- Інформація про дані Платона
- PlatoData
- Plenty
- Пости
- попередній
- надходження
- Видавничий
- відображати
- запам'ятати
- дозвіл
- REST
- то ж
- бачачи
- з
- So
- що в сім'ї щось
- конкретний
- специфічність
- Команда
- річ
- до
- ТОТАЛЬНО
- оновлений
- використання
- тижня
- ВООЗ
- Wild
- письмовий
- Ти
- зефірнет