Utilisation de Tailwind CSS pour modifier le style d'un div parent en réponse à l'état sélectionné d'un bouton radio
P粉718165540
P粉718165540 2023-08-15 23:49:52
0
1
593
<p>J'ai un tableau avec plusieurs colonnes et un bouton radio par ligne. Je dois changer la couleur d'arrière-plan de toute la ligne lorsque je sélectionne un bouton spécifique. Est-ce réalisable ? </p> <pre class="brush:php;toolbar:false;"><tr class="flex items-center p-4 space-x-4 border hover:bg-indigo-50"> <input type="radio" name="user" id="{{ user.id }}"> <label for="{{ user.id }}">{{ user.email }}</label> <div>{{ user.name }}</div> </tr></pre> <p>Dans Tailwind, vous pouvez utiliser la classe "peer" pour styliser les blocs adjacents. Mais je dois styliser le bloc parent (lorsque <input> est sélectionné, la couleur d'arrière-plan du bloc parent doit changer). </p>
P粉718165540
P粉718165540

répondre à tous(1)
P粉958986070

Il est possible d'utiliser des pseudo-classes :has(), mais leur support est limité dans les navigateurs (ex : non supporté par Mozilla). Vous pouvez consulter le support du navigateur pour ce sélecteur.

tr:has(input:checked){
    background: green;
}
<script src="http://cdn.tailwindcss.com"></script>

<table>
    <tr class="flex items-center p-4 space-x-4 border hover:bg-indigo-50">
        <td>
            <input type="radio" name="user" id="{{ user.id }}">
            <label for="{{ user.id }}">{{ user.email }}</label>
            <div>{{ user.name }}</div>
        </td>
    </tr>
</table>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal