Css en fonction de l'ancre cliquée
ariza-multimedia
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je viens de créer un site pour le dépannage informatique
https://ariza-multimedia.com/
sur ma page service
https://ariza-multimedia.com/services.html
j'ai créer des ancres qui vont à la page tarifs
réinstallation<a href="tarifs.html#1" rel="nofollow noopener noreferrer" target="_blank">En savoir plus</a>
nettoyage pc portable<a href="tarifs.html#2" rel="nofollow noopener noreferrer" target="_blank">En savoir plus</a>
...
sur la page tarifs
https://ariza-multimedia.com/tarifs.html
j'ai des div avec mes ancre id="1" id="2" ...
je voudrais que lorsque je clique sur #1 le div concerné sois d'une couleur différente
merci d'avance pour votre aide
je viens de créer un site pour le dépannage informatique
https://ariza-multimedia.com/
sur ma page service
https://ariza-multimedia.com/services.html
j'ai créer des ancres qui vont à la page tarifs
réinstallation<a href="tarifs.html#1" rel="nofollow noopener noreferrer" target="_blank">En savoir plus</a>
nettoyage pc portable<a href="tarifs.html#2" rel="nofollow noopener noreferrer" target="_blank">En savoir plus</a>
...
sur la page tarifs
https://ariza-multimedia.com/tarifs.html
j'ai des div avec mes ancre id="1" id="2" ...
je voudrais que lorsque je clique sur #1 le div concerné sois d'une couleur différente
merci d'avance pour votre aide
A voir également:
- Css en fonction de l'ancre cliquée
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
1 réponse
Salut,
Il ne semble pas possible de réaliser ceci uniquement en css, il faut utiliser un peu de javascript.
Un petit exemple :
Par rapport à cet exemple, plutôt que de modifier le style directement en js, il serait mieux d'utiliser js uniquement pour ajouter/supprimer une classe sur les titres actifs puis de gérer le style via cette classe css.
Bonne journée,
Il ne semble pas possible de réaliser ceci uniquement en css, il faut utiliser un peu de javascript.
Un petit exemple :
<a href="#1" rel="nofollow noopener noreferrer" target="_blank" class="ancre">1</a> <a href="#2" rel="nofollow noopener noreferrer" target="_blank" class="ancre">2</a> <div id="1" class="titre-ancre">1</div> <div id="2" class="titre-ancre">2</div>
<script> var colorDefault = '#000'; var colorActive = '#888'; // on récupère les balises class="ancre" var links = document.querySelectorAll('.ancre'); for (var i = 0; i < links.length; i++) { // pour chaque balises class="ancre" on associe une la fonction suivante links[i].addEventListener('click', function() { // on réinitialise la couleur de tous les titres var titles = document.querySelectorAll('.ancre'); for (var j = 0; j < titles.length; j++) { document.getElementById(new URL(titles[j].href).hash.replace('#', '')).style.color = colorDefault; } // on change la couleur du titre correspondant à l'ancre cliquée var hash = window.location.hash; document.getElementById(hash.replace('#', '')).style.color = colorActive; }); } </script>
Par rapport à cet exemple, plutôt que de modifier le style directement en js, il serait mieux d'utiliser js uniquement pour ajouter/supprimer une classe sur les titres actifs puis de gérer le style via cette classe css.
Bonne journée,