Fermer un bloc lorsque l'on re-clique dessus - HTML
Fermé
Joejoh
Messages postés
11
Date d'inscription
samedi 20 juillet 2019
Statut
Membre
Dernière intervention
1 septembre 2022
-
4 juil. 2020 à 11:50
ARTUROK - 6 juil. 2020 à 09:03
ARTUROK - 6 juil. 2020 à 09:03
A voir également:
- Fermer un bloc lorsque l'on re-clique dessus - HTML
- Editeur html - Télécharger - HTML
- Bloc note windows - Télécharger - Traitement de texte
- Comment fermer un compte paypal - Guide
- Code bloc - Télécharger - Langages
- Souris qui ne clique plus ✓ - Forum Windows
2 réponses
Salut,
il faut plutôt aller du côté de la programmation avec JavaScript pour ce genre de chose.
Pour gérer un événement lors du clic:
https://www.w3schools.com/jsref/event_onclick.asp
et dans le cas que vous présentez mettre les valeurs CSS des éléments à fermer à leur valeur initiale(fermé et non visible avec display:none).
Ici c'est la pseudo classe hover qui déclenche l'affichage et on approche des limites de ce que peut faire CSS côté interactivité.
il faut plutôt aller du côté de la programmation avec JavaScript pour ce genre de chose.
Pour gérer un événement lors du clic:
https://www.w3schools.com/jsref/event_onclick.asp
et dans le cas que vous présentez mettre les valeurs CSS des éléments à fermer à leur valeur initiale(fermé et non visible avec display:none).
Ici c'est la pseudo classe hover qui déclenche l'affichage et on approche des limites de ce que peut faire CSS côté interactivité.
Joejoh
Messages postés
11
Date d'inscription
samedi 20 juillet 2019
Statut
Membre
Dernière intervention
1 septembre 2022
5 juil. 2020 à 14:33
5 juil. 2020 à 14:33
Bonjour, merci Arturok pour votre réponse ! JavaScript est un peu trop compliqué pour moi, si jamais je ne trouve pas comment faire avec CSS tant pis je laisserais ma foire aux questions comme ça dans un premier temps :)
Je me permets tout de même des questions très naïves :
1/ Avec CSS, il n'y a pas de possibilité d'engendrer une action au "premier" clic (ex : ouvrir) et une action différente au "deuxième" clic (ex : fermer) ?
2/ De ce que je comprends, dans le code que j'ai utilisé c'est la classe hover qui permet un peu d'interactivité, mais aussi l'item "checked" non ? Ici il y a un exemple, quand on clique sur le bouton ça s'ouvre et quand on re-clique ça se ferme : https://developer.mozilla.org/fr/docs/Web/CSS/:checked. Malheureusement je ne comprends rien aux lignes de code de cet exemple, pensez-vous qu'il soit adaptable pour mon cas ?
3/ Avec mon code, quand on clique sur le bandeau de chaque question, la réponse s'ouvre et un "-" apparaît au début du bandeau. Ne pourrait-on pas utiliser cet élément différenciateur ? Avec CSS, n'est-il pas possible de faire comprendre à l'ordinateur qu'il faut fermer la réponse à chaque clique sur les bandeaux contenant un "-" ?
D'avance merci et bonne journée !
Je me permets tout de même des questions très naïves :
1/ Avec CSS, il n'y a pas de possibilité d'engendrer une action au "premier" clic (ex : ouvrir) et une action différente au "deuxième" clic (ex : fermer) ?
2/ De ce que je comprends, dans le code que j'ai utilisé c'est la classe hover qui permet un peu d'interactivité, mais aussi l'item "checked" non ? Ici il y a un exemple, quand on clique sur le bouton ça s'ouvre et quand on re-clique ça se ferme : https://developer.mozilla.org/fr/docs/Web/CSS/:checked. Malheureusement je ne comprends rien aux lignes de code de cet exemple, pensez-vous qu'il soit adaptable pour mon cas ?
3/ Avec mon code, quand on clique sur le bandeau de chaque question, la réponse s'ouvre et un "-" apparaît au début du bandeau. Ne pourrait-on pas utiliser cet élément différenciateur ? Avec CSS, n'est-il pas possible de faire comprendre à l'ordinateur qu'il faut fermer la réponse à chaque clique sur les bandeaux contenant un "-" ?
D'avance merci et bonne journée !
CSS n'engendre ni ne considère une action(c'est une liste descriptive, tout comme HTML on parle de langage descriptif) mais cible et permet d'indiquer des propriétés des éléments ainsi ciblé.
Voici la liste des sélecteurs CSS:
https://developer.mozilla.org/fr/docs/Web/CSS/S%C3%A9lecteurs_CSS
Qu'est ce qui vous semble compliqué avec JavaScript? L'explication que je donne consiste à changer des valeurs CSS lors du clic.
Un exemple plus concret:
(recopier dans un fichier avec l'extension ".html" ex: "testclick.html" )
Voici la liste des sélecteurs CSS:
https://developer.mozilla.org/fr/docs/Web/CSS/S%C3%A9lecteurs_CSS
Qu'est ce qui vous semble compliqué avec JavaScript? L'explication que je donne consiste à changer des valeurs CSS lors du clic.
Un exemple plus concret:
(recopier dans un fichier avec l'extension ".html" ex: "testclick.html" )
<div id='testclick'> Cliquer ce bloc va le masquer </div> <script> document.getElementById('testclick').addEventListener('click',function(){ this.setAttribute('style','display:none'); }); </script>