Comment puis-je créer un lien depuis une cellule de table

J’ai ce qui suit:

 some text 
a div

Je voudrais faire tout le

...

un hyperlien. Je préférerais sans l’utilisation de JavaScript. Est-ce possible?

Oui, c’est possible, même si ce n’est pas littéralement le

, mais ce qu’il contient. L’astuce simple est de s’assurer que le contenu s’étend jusqu’aux bordures de la cellule (il n’inclura pas les bordures elles-mêmes).

Comme déjà expliqué, ce n’est pas sémantiquement correct. Un élément est un élément en ligne et ne doit pas être utilisé comme élément de niveau bloc. Cependant, voici un exemple (mais JavaScript plus un style CSS td: hover sera beaucoup plus net) qui fonctionne dans la plupart des navigateurs:

   
hello world

PS: il est en fait plus simple de changer a élément au niveau d’un bloc en utilisant CSS comme expliqué dans une autre solution de ce fil . ça ne marchera pas bien dans IE6, mais ce n’est pas une nouvelle;)

Solution alternative (non conseillée)

Si votre monde est uniquement Internet Explorer (rare, de nos jours), vous pouvez violer le standard HTML et écrire ceci, cela fonctionnera comme prévu, mais sera très mal vu et considéré comme mal avisé (vous n’avez pas entendu ceci ). Tout autre navigateur qu’IE ne rendra pas le lien, mais affichera la table correctement.

 
hello world

Utilisez ce code. Il développe un pour remplir la cellule horizontalement. Pour remplir verticalement, utilisez également la propriété height .

 td a { width: 100%; display: block; } td { /* Cell styles for demonstration purposes only */ border: 1px solid black; width: 10em; } 
 
Hello World

Je recommande d’utiliser un élément d’ancrage réel et de le définir comme bloc.

  .divBox { width: 300px; height: 100px; } .divBox a { width: 100%; height: 100%; display: block; } 

Cela définira l’ancre aux mêmes dimensions que le div parent.

Voici ma solution:

   

SomeText

(MOINS)

 td { padding: 1%; vertical-align: bottom; position:relative; a { height: 100%; display: block; position: absolute; top:0; bottom:0; right:0; left:0; } .item-container { /*...*/ } } 

Comme cela, vous pouvez toujours bénéficier de certaines propriétés de cellule de tableau, telles que vertical-align . (Testé sur Chrome)

Je voudrais faire le td entier un hyperlien. Je préférerais sans javascript. Est-ce possible?

Ce n’est pas possible sans JavaScript. En outre, ce ne sera pas un balisage sémantique. Vous devriez plutôt utiliser link sinon il s’agit de joindre le onclick à

pour redirect vers une autre page.

Vous pouvez créer la table de votre choix, l’enregistrer en tant qu’image, puis utiliser une image pour créer le lien (de cette façon, vous pouvez insérer les coordonnées du trou td dans un lien).