Problèmes avec les tables de données et la barre de défilement horizontale indésirable

J'espère que c'est un problème assez simple.

J'essaie d'utiliser Datatables pour créer une table sans aucun défilement horizontal. La table contient de longues lignes de données que je dois conserver sur une seule ligne et masquer le débordement.

Il semble qu'il me manque quelque chose d'assez basique avec les tables de données ici, mais je n'arrive pas à me débarrasser de la barre de défilement horizontale lorsque la table obtient une barre de défilement verticale.

http://jsfiddle.net/FBpLA/3/

Il y a deux tables (données identiques), les deux sont initialisées très simplement.

$('#mytable').dataTable({
bFilter: false,
bInfo: false,
bPaginate: false,
});
$('#mytable2').dataTable({
bFilter: false,
bInfo: false,
bPaginate: false,
sScrollY: '150px'
});

Les styles de la page sont assez simples

body {
height:100%;
color: #000000;
font-family: Helvetica, Arial, Verdana, sans-serif;
font-size: 10pt;
background-color: #B4D4EC;
}
.main-panel {
display:block;
background:white;
padding:20px;
height: 100%;
position:absolute;
width: 700px;
top: 139px;
bottom: 110px;
}
th {
text-align:left;
}
td {
border-spacing:0;
white-space:nowrap;
overflow: hidden;
text-overflow: ellipsis;
-ms-text-overflow:ellipsis;
}


Solution du problème

Au final, la meilleure solution était de définir la largeur de la table intérieure à :

table-layout:fixed;
width: 98%!important;

Toutes les solutions répertoriées ici avaient un comportement de recadrage indésirable. Limiter la largeur du tableau de cette manière m'a également permis d'ajuster dynamiquement la hauteur du tableau de sorte que la barre de défilement horizontale puisse apparaître ou disparaître à la demande sans introduire de défilement horizontal.

http://jsfiddle.net/FBpLA/15/

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"