&lt;!-- required files --&gt;
&lt;link href="../assets/plugins/datatables.net-bs5/css/dataTables.bootstrap5.min.css" rel="stylesheet" /&gt;
&lt;link href="../assets/plugins/datatables.net-responsive-bs5/css/responsive.bootstrap5.min.css" rel="stylesheet" /&gt;
&lt;link href="../assets/plugins/datatables.net-scroller-bs5/css/scroller.bootstrap5.min.css" rel="stylesheet" /&gt;
&lt;script src="../assets/plugins/datatables.net/js/dataTables.min.js"&gt;&lt;/script&gt;
&lt;script src="../assets/plugins/datatables.net-bs5/js/dataTables.bootstrap5.min.js"&gt;&lt;/script&gt;
&lt;script src="../assets/plugins/datatables.net-responsive/js/dataTables.responsive.min.js"&gt;&lt;/script&gt;
&lt;script src="../assets/plugins/datatables.net-responsive-bs5/js/responsive.bootstrap5.min.js"&gt;&lt;/script&gt;
&lt;script src="../assets/plugins/datatables.net-scroller/js/dataTables.scroller.min.js"&gt;&lt;/script&gt;
&lt;script src="../assets/plugins/datatables.net-scroller-bs5/js/scroller.bootstrap5.min.js"&gt;&lt;/script&gt;

&lt;!-- html --&gt;
&lt;table id="data-table-scroller" width="100%" class="table table-striped table-bordered align-middle text-nowrap"&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;ID&lt;/th&gt;
      &lt;th&gt;First name&lt;/th&gt;
      &lt;th&gt;Last name&lt;/th&gt;
      &lt;th&gt;ZIP / Post code&lt;/th&gt;
      &lt;th&gt;Country&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
&lt;/table&gt;

&lt;!-- script --&gt;
&lt;script&gt;
  $('#data-table-scroller').DataTable({
    ajax:           "../assets/js/demo/json/scroller_demo.json",
    deferRender:    true,
    scrollY:        300,
    scrollCollapse: true,
    scroller:       true,
    responsive: true
  });
&lt;/script&gt;