JSFiddle - React, Tailwind, and code Playground
HTML
<ul class="testTable">
<div class="testHeader">
<li id="fixed" class="testRow">
<span id="fid">ID</span>
<span id="fname">Name</span>
<span id="fdesc">Description</span>
<span id="fod1">Other details 1</span>
<span id="fod2">Other details 2</span>
</li>
<li class="testRow">
<span id="tid">ID</span>
<span id="tname">Name</span>
<span id="tdesc">Description</span>
<span id="tod1">Other details 1</span>
<span id="tod2">Other details 2</span>
</li>
</div>
<div class="testBody">
<li class="testRow">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</li>
<li class="testRow">
<span>1</span>
<span>Longer Name</span>
<span>3</span>
<span>4</span>
<span>5</span>
</li>
<li class="testRow">
<span>Longer ID</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</li>
<li class="testRow">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</li>
<li class="testRow">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</li>
<li class="testRow">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</li>
<li class="testRow">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
<span>5</span>
</li>
<li class="testRow">
<span>1</span>
<span>2</span>
...
CSS
body {
margin:0;
padding:0;
}
#fixed {
position:fixed;
top:0;
left:0;
}
.testTable {
display: table;
margin: 0px;
padding: 0px;
}
.testRow {
display: table-row;
}
.testRow > span {
list-style:none;
display: table-cell;
border: 1px solid #000;
padding: 2px 6px;
}
.testHeader {
display: table-header-group;
}
.testHeader span {
background-color: #ccc;
}
.testBody {
display: table-row-group;
}
JavaScript
$(document).ready(function(e) {
adjustHeader();
});
function adjustHeader(){
//get width of the NOT fixed header spans
var a = $("span#tid").width();
b = $("span#tname").width();
c = $("span#tdesc").width();
d = $("span#tod1").width();
e = $("span#tod2").width();
//Change the width of the fixed header spans
//with the other headers spans
$("span#fid").width(a);
$("span#fname").width(b);
$("span#fdesc").width(c);
$("span#fod1").width(d);
$("span#fod2").width(e);
}