JSFiddle - React, Tailwind, and code Playground

HTML

<!DOCTYPE html>
<html lang="en" >
<head>
  <meta charset="UTF-8">
  <title>Datatabe Scrollx; Fixedheader, Fixedcolumn</title>
  <link rel='stylesheet' href='https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css'>
  <link rel='stylesheet' href='https://cdn.datatables.net/scroller/2.0.5/css/scroller.dataTables.min.css'>
  <link rel='stylesheet' href='https://cdn.datatables.net/fixedheader/3.2.0/css/fixedHeader.dataTables.min.css'> 
  <link rel='stylesheet' href='https://cdn.datatables.net/fixedcolumns/4.0.0/css/fixedColumns.dataTables.min.css '>



</head>
<body>
<table id="example" class="display" cellspacing="0" width="100%">
  <thead>
    <tr>
      <th>Name</th>
      <th>Position</th>
      <th>Office</th>
      <th>Age</th>
      <th>Start date</th>
      <th>Salary</th>
    </tr>
  </thead>

  <tfoot>
    <tr>
      <th>Name</th>
      <th>Position</th>
      <th>Office</th>
      <th>Age</th>
      <th>Start date</th>
      <th>Salary</th>
    </tr>
  </tfoot>

  <tbody>
    <tr>
      <td>Tiger Nixon</td>
      <td>System Architect</td>
      <td>Edinburgh</td>
      <td>61</td>
      <td>2011/04/25</td>
      <td>$320,800</td>
    </tr>
    <tr>
      <td>Garrett Winters</td>
      <td>Accountant</td>
      <td>Tokyo</td>
      <td>63</td>
      <td>2011/07/25</td>
      <td>$170,750</td>
    </tr>
    <tr>
      <td>Ashton Cox</td>
      <td>Junior Technical Author</td>
      <td>San Francisco</td>
      <td>66</td>
      <td>2009/01/12</td>
      <td>$86,000</td>
    </tr>
    <tr>
      <td>Cedric Kelly</td>
      <td>Senior Javascript Developer</td>
      <td>Edinburgh</td>
      <td>22</td>
      <td>2012/03/29</td>
      <td>$433,060</td>
    </tr>
    <tr>
      <td>Airi Satou</td>
      <td>Accountant</td>
      <td>Tokyo</td>
      <td>33</td>
      <td>2008/11/28</td>
      <td>$162,700</td>
    </tr>
    <tr>
      <td>Brielle Williamson</td>
      <td>Integration Specialist</td>
      <td>New York</td>
      <td>61</td>
     ...

CSS

table.dataTable.fixedHeader-floating {
		 display: none !important; 
	}
	  	  
	.dataTables_scrollHeadInner{
		margin-left: 0px;
		width: 100% !important;
		position: fixed; 
		display: block;
		overflow: hidden;
		
		margin-right: 30px;
		background: white;
		z-index: 1000; 
	}
	  	
	.dataTables_scrollBody{
		padding-top: 50px;
	}

JavaScript

$(document).ready(function() {
    table = $('#example').DataTable( {
		"dom": 't',
		
		fixedHeader: {
			headerOffset: 200
		}, 
		
		fixedColumns: true,
		scrollX: true,
		"lengthMenu": [100],
			
		"fnInitComplete": function(){
    
      // Scroll at top of table
			$('.dataTables_scrollHead').css('overflow', 'auto');
			$('.dataTables_scrollHead').on('scroll', function () {
				$('.dataTables_scrollBody').scrollLeft($(this).scrollLeft());
			});
      
      
      // Fix for ScrollX and Fixedheader
       $('.dataTables_scrollBody').on('scroll',function(){
               $('.dataTables_scrollHeadInner').scrollLeft($(this).scrollLeft());
       });
 
       $(document).on('scroll',function(){					
						var scroll_pos = $(this).scrollTop();
						var margin = 0; // Adjust it to your needs
						var cur_pos = $('.dataTables_scrollHeadInner').position();
						var header_pos = cur_pos.top;
	 
						if(scroll_pos < margin)
							 var header_pos = margin - scroll_pos;
						else
							header_pos = 0;	
										 
						$('.dataTables_scrollHeadInner').css({"top" : header_pos});

        });       
      
		}, 		
    } ); 	
});