Comment faire en-tête fixe de table à l'intérieur de défilement div?
Je veux faire de l'en-tête de mon tableau fixe. Le tableau est présent à l'intérieur de la div scrollable. Ci-dessous mon code.
<div id="table-wrapper">
<div id="table-scroll">
<table bgcolor="white" border="0" cellpadding="0" cellspacing="0" id="header-fixed" width="100%" overflow="scroll" class="scrollTable">
<thead>
<tr>
<th>Order ID</th>
<th>Order Date</th>
<th>Status</th>
<th>Vol Number</th>
<th>Bonus Paid</th>
<th>Reason for no Bonus</th>
</tr>
</thead>
<tbody>
<tr>
<td><%=snd.getOrderId()%></td>
<td><%=snd.getDateCaptured()%></td>
<td><%=snd.getOrderStatus()%></td>
<td>Data Not Available</td>
<td>Data Not Available</td>
<td>Data Not Available</td>
</tr>
</tbody>
</table>
</div>
</div>
Ci-dessous est mon CSS, que je suis à l'aide de la ci-dessus div:
#table-wrapper {
position:relative;
}
#table-scroll {
height:250px;
overflow:auto;
margin-top:20px;
}
#table-wrapper table {
width:100%;
}
#table-wrapper table * {
background:white;
color:black;
}
#table-wrapper table thead th .text {
position:absolute;
top:-20px;
z-index:2;
height:20px;
width:35%;
border:1px solid red;
}
- Qu'entendez-vous par "faire de l'en-tête de ma table fixe"? Est-il censé être toujours visible malgré le défilement vers le bas?
- exactement la ligne du haut de tableau doit toujours visible
- Ive juste ajouté une réponse à une question similaire, qui peuvent aider stackoverflow.com/questions/31433833/...
Vous devez vous connecter pour publier un commentaire.
Comment faire quelque chose comme ça? Je l'ai fait à partir de zéro...
Ce que j'ai fait est utilisé 2 tableaux, l'un pour l'en-tête, qui sera statique toujours, et l'autre de la table rend les cellules, qui, je l'ai enveloppé à l'aide d'un
div
élément avec une hauteur fixe, et pour activer le défilement, le matin à l'aideoverflow-y: auto;
Assurez-vous également que vous utilisez
table-layout: fixed;
avec une largeur fixetd
éléments afin que votretable
ne se casse pas quand une chaîne de caractères sanswhite space
est utilisé, afin de briser cette chaîne am à l'aide deword-wrap: break-word;
Démo
<table>
élément est idéal pour des données tabulaires, dont il semble que l'OP a.table-layout: fixed;
ne trop.Certaines de ces réponses semblent inutilement complexe. Faites votre tbody:
Puis régler manuellement la largeur de chaque colonne, de sorte que le thead et tbody colonnes sont de la même largeur. Réglage de la table style="table-layout: fixe" peut également être nécessaire.
À l'aide de
position: sticky
surth
fera l'affaire.Remarque: si vous utilisez
position: sticky
surthead
outr
, ça ne marchera pas.https://jsfiddle.net/hrg3tmxj/
Je pense que vous avez besoin de quelque chose comme cela ?
Source
J'avais besoin de la même chose et cette solution a fonctionné le plus simple et explicite:
http://www.farinspace.com/jquery-scrollable-table-plugin/
Je viens de donner un
id
à la table, je veux faire défiler et mettre une ligne en Javascript. Ça y est!Par la façon dont, en premier j'ai aussi pensé que je veux utiliser un div scrollable, mais il n'est pas nécessaire à tous. Vous pouvez utiliser un div et de mettre en elle, mais cette solution ne fonctionne tout simplement ce dont nous avons besoin: les parchemins de la table.
C'est mon "béquilles" solution à l'aide de html et css.
Il utilisé 2 tables et largeur fixe de tables et de la table de la cellule
https://jsfiddle.net/babaikawow/s2xyct24/1/
HTML:
CSS:
Un Violon aurait été plus utile néanmoins de ce que je comprends, je pense que ce que vous avez besoin est persistant en-têtes, se pencher sur cette
http://css-tricks.com/persistent-headers/
Ce code fonctionne formulaire de moi. Inclure l'jquery.js fichier.
utilisation StickyTableHeaders.js pour cela.
En-tête a été transparent . donc, essayez d'ajouter ce css .