17-06-2013, 12:26 PM
Je ne sais pas si label/div est accepté. En revanche, ton problème de "le input ne répond pas" peut venir du fait que div est, par défaut, en
Donc, passer ton input en "display:block;" peut résoudre le problème de présentation qui te pousse à ajouter un "div".
Sémantiquement parlant, ton div n'a en effet aucun "sens": il n'est là que pour palier au manque du CSS.
D'après la norme W3C de "label", ce tag (label) est de type "display:inline". Or, les éléments "block" ne sont pas vraiment adapté à un conteneur "inline" (ce serait comme mettre un tag XML dans un TextNode...). Bon, j'ai rien dans la norme qui dit que c'est interdit, mais je trouve cela ... bizare!
J'ajouterai que, pour recoller plus à la norme qu'à une opinion personnelle:
display:block;
Donc, passer ton input en "display:block;" peut résoudre le problème de présentation qui te pousse à ajouter un "div".
Sémantiquement parlant, ton div n'a en effet aucun "sens": il n'est là que pour palier au manque du CSS.
D'après la norme W3C de "label", ce tag (label) est de type "display:inline". Or, les éléments "block" ne sont pas vraiment adapté à un conteneur "inline" (ce serait comme mettre un tag XML dans un TextNode...). Bon, j'ai rien dans la norme qui dit que c'est interdit, mais je trouve cela ... bizare!
J'ajouterai que, pour recoller plus à la norme qu'à une opinion personnelle:
w3c a écrit :Each LABEL element is associated with exactly one form control.Donc, on ne peut pas attacher une "div" (qui n'est pas un "form control") à "label" (en pratique, c'est peut-être possible, mais la norme ne le veut pas).