div cliquable et redirection : quel est la façcon la plus propre?

d0m
Mammouth du PHP | 1141 Messages

22 nov. 2007, 12:17

Bonjour,

je suis en train de faire un menu constitué de conteneur <div> sur lesquels on clique pour accéder à une autre page.

J'ai recensé ces moyens de faire cela :
html :
- entourer le div des balises <A HREF ="" ></A>
- formulaire pour chaque div qui est en fait un gros bouton submit

javascript :
- evenement onclick avec redirection javascript

Ma question est selon vous quelle est la manière la plus propre de faire cela, et si vous avez un autre moyen?

ViPHP
ViPHP | 4039 Messages

22 nov. 2007, 13:52

entourer les divs de balises <a> ? quelle drôle d'idée :shock:

Sinon, un simple lien dans une div, avec un display:block sur le lien, et le bidouiller pour qu'il prenne toute la place de la div, ça m'a l'air plus réaliste.

Et sinon, les balises <a> peuvent avoir le même comportement que des divs (le miracle du css), suffit de mettre display:block, et le tour est joué.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

d0m
Mammouth du PHP | 1141 Messages

22 nov. 2007, 15:21

Ca me semble pas si bizarre que cela l'idée dans la logique de conception:
J'ai un conteneur contenant plusieurs choses et je veux qu'en cliquant sur ce conteneur je suis redirigé
=> l'objet lien est le conteneur.
Et c'est realiste puisque ça fonctionne.

ViPHP
ViPHP | 4039 Messages

22 nov. 2007, 15:32

si ça marche sur tous les navigateurs, c'est une façon originale de faire (je testerais aussi tiens).

C'est sans doute ce qu'il y a de plus propre, mais le faire par JS , c'est pas vraiment sale non plus.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

22 nov. 2007, 16:37

Je pense que le problème de base est le suivant :
Je veux rassembler mes objets dans un conteneur => j'utilise un div
Je veux que ce conteneur soit cliquable => je met un lien autour du div

Il vaut mieux se dire ça :
Je veux que cet ensemble d'objet soit cliquable => j'utilise un lien comme conteneur.

Du coup, je rejoins la proposition de Berzemus
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
AB
ViPHP | 5818 Messages

22 nov. 2007, 16:38

Bonjour,

Faudrait voir avec le w3c mais pas sur que <a><div> soit valide car <a> est de type inline et <div> de type bloc. Normalement un élément de type en ligne ne peut pas contenir d'éléments de type bloc, si mes souvenirs sont bons.

d0m
Mammouth du PHP | 1141 Messages

22 nov. 2007, 17:04

Effectivement, utiliser le lien comme conteneur est une bonne idée. Je l'ai donc adopté et ca m'a permis de régler des problèmes d'alignement également.
Merci pour vos indications.