Tableau html responsive

WRInaute passionné
Salut à tous,

J'ai pas mal de tableaux html sur mon site, dont certains ont une dizaine de colonnes, et je suis entrain de voir la meilleure solution pour que ces tableaux html soient responsive.

J'ai vu cette solution avec des <div> avec overflow-x:auto mais je me demandais si les utilisateurs de smartphones et tablettes pensent à utiliser les barres de défilement horizontales pour visualiser les parties du tableau html qui ne sont pas visibles ?

Sinon, quelles autres solutions me conseillez-vous pour rendre mes tableaux html responsive ?

Merci pour vos réponses.
 
WRInaute passionné
Merci spout, je vais regarder ces 3 techniques.

Pour infos, j'ai regardé l'un de mes principaux concurrents et ils utilisent la technique de la <div> avec overflow-x:auto
 
WRInaute passionné
C'est vrai que la technique du DataTables est alêchante :D mais cela fait inclure dans le code html 4 fichiers supplémentaires (2 css + 2 JavaScripts)... contre une simple <div style="overflow-x:auto;"></div> avec la méthode w3schools.com, j'hésite...

D'autant plus que je souhaite pouvoir cliquer sur les lignes de mon tableau html afin d'ouvrir sous cette ligne une <div> (ou une autre ligne <tr> qui était en display:none) dans laquelle s'affichera le détail des infos de ce produit.... est-ce réalisable via DataTables ?
 
WRInaute passionné
Merci spout, je vais opter pour la méthode de la <div style="overflow-x:auto;"></div>.

Je voudrais lorsqu'on clique sur une ligne de mon tableau html qu'une nouvelle ligne s'affiche en dessous, j'ai trouvé le code javascript ci-dessous qui fonctionne parfaitement bien :
Code:
function toggleSibling(sibling){
    sibling = sibling.nextSibling;
    while(!/tr/i.test(sibling.nodeName)){
      sibling = sibling.nextSibling;
    }
    sibling.style.display = sibling.style.display == 'table-row' ? 'none' : 'table-row';
}
On ajoute dans le code html du tableau cette nouvelle ligne ci-dessous en "display:none" grace à la class css "extra-line-table" :
Code:
    <tr class="extra-line-table">
        <td colspan="12">Infos sur le produit</td>
    </tr>
Je voudrais afficher à gauche de chaque ligne de mon tableau une image "+" et "-" qui se trouverai dans la première cellule <td></td> de mon tableau.

L'image "+" est affichée au chargement du tableau et lorsque l'utilisateur clique sur une ligne le "+" se change en "-" et vice et versa, comment faire ces 2 actions en même temps : ouverture de la nouvelle ligne <tr class="extra-line-table"> + changement de l'image "+" par l'image "-" sur onclick de la ligne <tr> du produit ?
 
WRInaute discret
suffit de mettre ton code dans la même fonction qui appelle le onclick, ou d'appeler une deuxième fonction dans celle du onclick
 
Discussions similaires
Haut