Как настроить таргетинг на отдельные детские классы CSS при наведении с помощью Tailwindcss

Как я могу сделать так, чтобы к прямым дочерним элементам родительского div класс CSS применялся к каждому из них индивидуально? Например, если я хочу, чтобы каждый элемент находился font-bold в состоянии наведения. Я надеюсь сделать это встроенным, используя атрибут class=, а не определять его в CSS-файле.

HTML:

<div class = "[&>a]:hover:font-bold">
  <a>link 1</a>
  <a>link 2</a>
</div>

Если я наведу курсор на любого из этих <a> детей, то все <a> станут жирными. Я хочу, чтобы каждый из них стал смелым, когда на него наводят курсор, не затрагивая своих братьев и сестер.

Живой пример: https://stackblitz.com/edit/stackblitz-starters-pjrw8j?file=index.html

Как сделать компонент справочного центра с помощью TailwindCSS
Как сделать компонент справочного центра с помощью TailwindCSS
Справочный центр - это веб-сайт, где клиенты могут найти ответы на свои вопросы и решения своих проблем. Созданный для решения многих распространенных...
REACT и NEXT JS вместе с Tailwind CSS
REACT и NEXT JS вместе с Tailwind CSS
Наличие собственного или персонального сайта необходимо в современном мире, а сочетание React и Next JS позволяет разработчику сделать это за меньшее...
Современные подходы к организации и работе с CSS в проекте
Современные подходы к организации и работе с CSS в проекте
Любой, кто писал CSS в течение некоторого времени, знает о сложностях, которые с этим связаны, и о том, насколько это может быть болезненно.
Как использовать псевдокласс :hover в Tailwind только тогда, когда это действительно необходимо (при наличии курсора)
Как использовать псевдокласс :hover в Tailwind только тогда, когда это действительно необходимо (при наличии курсора)
Я люблю Tailwind. Раньше я относился к нему с подозрением, но как только я попробовал его использовать, я был поражен тем, сколько времени он мне...
0
0
113
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно документации, иногда порядок вариантов имеет значение:

Порядок сложенных модификаторов

При наложении модификаторов они применяются изнутри наружу, как вызовы вложенных функций:

// These modifiers:
'dark:group-hover:focus:opacity-100'

// ...are applied like this:
dark(groupHover(focus('opacity-100')))

По большей части это не имеет значения, но есть несколько ситуаций, когда используемый вами порядок фактически генерирует существенно другой CSS.

В вашей ситуации у вас есть [&>a]:hover:, что концептуально похоже на [&>a](hover(…)). Это будет означать:

  1. hover: – наведите курсор на этот <div> элемент.
  2. [&>a]: — выберите прямые <a> дочерние элементы внутри этого <div> элемента.

Хотя на самом деле кажется, что вы хотите обратного, hover:[&>a]::

  1. [&>a]: — выберите прямые <a> дочерние элементы внутри этого <div> элемента.
  2. hover: – наведите курсор на этот элемент (прямые дочерние <a> элементы внутри этого <div> элемента).

<script src = "https://cdn.tailwindcss.com/3.4.1"></script>

<div class = "hover:[&>a]:font-bold">
  <a>link 1</a>
  <a>link 2</a>
</div>

Другие вопросы по теме